image.png

image.png

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
	

1. registration 이란? (클라이언트의 정보)

spring.security.oauth2.client.registration 섹션은 우리가 개발하는 애플리케이션(클라이언트)의 정보를 등록하는 곳이다. OAuth2 인증을 요청하는 주체에 대한 설정을 담당한다.

쉽게 말해, registration은 Naver에게 “내가 이러이러한 클라이언트 앱인데, 사용자 인증 좀 해줘” 라고 내 애플리케이션 정보를 보내는 것이다.


2. provider 란? (인증 서버의 정보)

spring.security.oauth2.client.provider 섹션은 OAuth2 인증을 제공하는 서버(Provider, 이 경우 Naver)에 대한 정보를 등록하는 곳이다. 인증 절차를 위해 우리가 어디로 요청을 보내야 하는지에 대한 명세이다.