oauth2Login() - Spring MVC 인증 객체 참조

Authentication

  • public void method(Authentication authentication){...}

    • oauth2Login()으로 인증을 받게 되면 AuthenticationOAuth2AuthenticationToken 타입의 객체로 바인딩 된다.

    • principal 에는 OAuth2User 타입 또는 OidcUser 타입의 구현체가 저장된다.

    • DefaultOAuth2User/userInfo 엔드포인트 요청으로 받은 User 클레임 정보로 생성된 객체이다.

    • DefaultOidcUserOpenID Connect 인증을 통해 ID Token 및 클레임 정보가 포함된 객체이다.

img_79.png

@AuthenticationPrincipal

  • public void method(@AuthenticationPrincipal OAuth2User principal or OidcUser principal){...}

  • AuthenticationPrincipalArgumentResolver 클래스에서 요청을 가로채어 바인딩 처리를 한다.

  • AuthenticationSecurityContext 로부터 꺼내 와서 Principal 속성에 OAuth2User 또는 OidcUser 타입의 객체를 저장한다.


예제 코드

/userInfo 엔드포인트 요청

  • "/user"

img_80.png
  • "/oauth2User"

img_81.png
  • "/oidcUser"

img_82.png

OpenID Connect 인증

  • "/user"

img_83.png
  • "/oauth2User"

img_84.png
  • "/oidcUser"

img_85.png

이전 ↩️ - OAuth 2.0 Client(oauth2Login) - OpenID Connect 로그아웃arrow-up-right

메인 ⏫arrow-up-right

다음 ↪️ - OAuth 2.0 Client(oauth2Login) - API 커스텀 - Authorization BaseUrl & Redirection BaseUrlarrow-up-right

Last updated