OAuth2 로그인 구현 - Oauth 2.0 User 모델 소개(1)

존스노우·2023년 8월 28일
0

springSecurity

목록 보기
29/75

  • 인터페이스다 .

  • 인가서버에서 엔드포인트 요청

  • DefaultOAuth2UserService

  • 표준 OAuth2.0 provider -> 우리가 아는 인가서버 실제 사용자의 정보를 요청해서
    반환받는 의미를 가지고 있다. 반드시 엑세스 토큰을 지참 토큰을 가지고 인가서버로가서
    사용자의 엔드포인트 요청 -> 토큰 검증 -> 성공 -> 클라이언트에게 사용자 속성 리턴을 의미한다.

  • /token 인가서버에 토큰 요청

  • 클라이언트에게 엑세스 토큰 줌

  • 1번 : 토큰으로 인증처리 인가서버통신으로 요청 사용자 속성 리턴 (오어스2.0 표준방식) 인증처리 마침

  • 2번 : 토큰을 교환하기위해 인가서버에 요청 openId 포함되어있다..? id_token을 별도 생성해서 리턴

  • 클라이언트는 2개의 토큰으로 인증 처리 id_token은 사용자의 기본정보를 가지고있따.

  • 3번 필요한 경우 DefalutOAuth2UserService를 이용해서 인가서버에게 유저인포 엔드포인트 요청해서

  • 사용자의 속성을 가져와 활용 가능하다. 사용자 정보 조회 OidcuserInfo 따로 생성됨

  • 인가서버와 통신하기위해 restTemplate가지고있음

  • 인가서버로부터 받는 유저 속성 및 토큰 클레임.

OAtuh2User

  • 표준 방식으로 사용자의 정보를 조회해서 OAuth2User타입으로 만들거나 구성가능

OidcUser

  • Claims 사용자 정보가 들어있음.

  • OAuth2User 타입 인증 처리

  • 인가서버로 부터 사용자 정보를 조회해서 인증처리

  • 그러기 위해서? userInfo 엔드포인트 요청해야됨 토큰가지고

  • 인가서버는 사용자의 속성 리턴 이런 값들을 통해서

  • OidcUser 엔드 포인트 요청해서

  • 클레임정보를 리턴 그때 Idtoken생성

  • OAuth2User

  • 구현체 DefaultOAuth2User , OidcUser

  • 권한같은 경우도 스코프로 위임됨

profile
어제의 나보다 한걸음 더

0개의 댓글