Spring
google oauth
MDanderson
2023. 6. 14. 06:41
승인된 redirection URL :
구글로그인이 완료가되면 구글서버에서 우리한테 인증이 되었다는 코드를 돌려준다. 우리는 코드를 받아서 다시 acess토큰을 요청하고 acess토큰을 받아서 개인정보에 접근할수있는 권한이 생김 acess토큰을 얻기위해서 필요한게 코드인데 그 코드를 받을 수 있는 주소를 적는것.
login/oauth2/code/google은 고정되어있다. 여기에대한 컨트롤러를 만들 필요가 없다. 라이브러리가 알아서 다 처리해주기 때문
-
구글 OAuth 인증에 대한 설명입니다.
구글 OAuth는 구글 계정의 정보를 사용하여 다른 웹 앱이나 서비스에서 로그인을 할 수 있게 하는 기능입니다. 이를 위해선 아래와 같은 과정을 거치게 됩니다.
- 로그인 버튼 클릭: 사용자가 "구글 계정으로 로그인"이라는 버튼을 클릭하게 되면, 이 요청은 먼저 구글 서버로 전송됩니다.
- 승인된 리다이렉션 URI: 구글 서버에서는 사용자의 인증 요청을 처리한 후, 사전에 등록해 둔 "승인된 리다이렉션 URI"로 코드를 보냅니다. 이때 말하는 "코드"는 Authorization Code라는 일시적인 코드를 말합니다. 이 코드는 이후 사용자의 액세스 토큰을 얻는데 사용됩니다.
- "승인된 리다이렉션 URI"는 사전에 구글 API 콘솔에서 등록해둔 주소로, 인증 후 사용자를 리다이렉트 시킬 페이지의 주소입니다. 이때, "login/oauth2/code/google"은 스프링 시큐리티에서 OAuth 인증이 성공한 후 리다이렉트될 기본 주소로 설정되어 있습니다.
- 액세스 토큰 요청: 서버는 "코드"를 받은 후 이를 다시 구글 서버에 전송하며, 이 때 사용자의 액세스 토큰을 요청합니다.
- 액세스 토큰 수신 및 사용자 정보 요청: 구글 서버는 액세스 토큰을 발급하여 서버에게 전송하고, 서버는 이 액세스 토큰을 이용해 구글 계정의 사용자 정보에 접근하게 됩니다.
이런 과정을 거치면, 서버는 사용자의 액세스 토큰을 이용하여 사용자 정보에 접근하고, 이를 통해 로그인을 처리하게 됩니다.
이 모든 과정은 스프링 시큐리티가 대부분 자동으로 처리해주므로, 개발자는 이러한 과정에 대해 깊게 알 필요 없이 스프링 시큐리티의 설정만 잘 해주면 구글 OAuth 인증을 쉽게 사용할 수 있습니다. 이 때문에 "login/oauth2/code/google" 주소에 대한 별도의 컨트롤러를 만들 필요가 없습니다.