spring:
security:
oauth2:
client:
registration:
naver:
client-id:
client-secret:
redirect-uri: "{baseUrl}/{action}/oauth2/code/{registrationId}"
scope:
- email
- name
- profile_image
client-name: Naver
authorization-grant-type: authorization_code
provider:
naver:
authorization-uri: <https://nid.naver.com/oauth2.0/authorize>
token-uri: <https://nid.naver.com/oauth2.0/token>
user-info-uri: <https://openapi.naver.com/v1/nid/me>
user-name-attribute: response
registration
이란? (클라이언트의 정보)spring.security.oauth2.client.registration
섹션은 우리가 개발하는 애플리케이션(클라이언트)의 정보를 등록하는 곳이다. OAuth2 인증을 요청하는 주체에 대한 설정을 담당한다.
client-id
/ client-secret
: Naver로부터 발급받은 내 애플리케이션의 고유 식별자와 비밀번호이다. "이 요청은 등록된 제 애플리케이션이 보내는 것이 맞다"를 증명하는 정보이다.redirect-uri
: Naver에서 인증을 마친 사용자를 다시 우리 애플리케이션으로 돌려보낼 주소(URL)이다.scope
: Naver에게 사용자 정보 중 어떤 항목(이메일, 프로필 사진 등)에 접근할 것인지 권한을 요청하는 목록이다.authorization-grant-type
: 어떤 방식으로 인증을 처리할 것인지 정의한다.쉽게 말해, registration은 Naver에게 “내가 이러이러한 클라이언트 앱인데, 사용자 인증 좀 해줘” 라고 내 애플리케이션 정보를 보내는 것이다.
provider
란? (인증 서버의 정보)spring.security.oauth2.client.provider
섹션은 OAuth2 인증을 제공하는 서버(Provider, 이 경우 Naver)에 대한 정보를 등록하는 곳이다. 인증 절차를 위해 우리가 어디로 요청을 보내야 하는지에 대한 명세이다.
authorization-uri
: 사용자가 로그인하고 우리 앱에 정보 제공을 동의할 수 있는 Naver의 인증 페이지 주소이다.token-uri
: 인증 후 받은 '인가 코드'를 '액세스 토큰'으로 교환하기 위해 요청을 보낼 Naver의 서버 주소이다.