code= 뒷부분 인가코드
자원요청은 access token으로!
그림출처
OpenID Connect지원 - 구글
OpenID Connect미지원 - 네이버/카카오
OpenID Connect는 OAuth2.0위에 빌드된 인증 레이어.
사용자 정보를 포함하는 Id 토큰을 발급함
구글
Oauth2.0은 access_token을 통해 인가를 확인하고
OIDC는 ID_token을 통해 인증을 확인함.(access token도 함께 발급됨)
access_token의 탈취위험으로 exp타임이 생긴 것이고 refresh_token을 통해 접근하는 것이 좋은 것.
OIDC ID_token 은 JWT 토큰을 이용해 암호화가 되어있음.
1. 서버는 ID_token을 받은 후에
2. 서버측에서 ID_token을 검증 후에
3. 유저 정보를 조회후 db값과 비교해 인증함.
별개
registrationId : 로그인하는 서비스
userNameAttributeName : oauth2 로그인 시 기준이 되는 값
호출 시기
authorization_uri : 애플리케이션에서 로그인 버튼 클릭 시 콜백url에서 이 경로로 리디렉션
로그인 인증 성공하면 인가 코드를 포함해서 리디렉션 url로 리디렉션
token_uri : 인가 코드 받은 후 액세스 토큰으로 교환하기 위해 사용됨
user-info-uri : 액세스 토큰 받은 후 사용자 정보 조회