spring/spring security

[SpringSecurity5] OAuth2.0로 네이버 로그인 구현

moonsiri 2024. 10. 17. 16:50
728x90
반응형

OAuth2.0로 네이버 로그인 구현 방법에 대해 포스팅하겠습니다.

 

1. 네이버 개발자 센터에서 애플리케이션 등록

네이버 개발자 센터(https://developers.naver.com)에접속하여 로그인 후 애플리케이션을 등록합니다.

 

앱 이름설명을 작성하고, 사용 API에서 "네이버 로그인"을 선택합니다.

 

서비스 URL: 실제 서비스나 개발 환경의 URL을 입력합니다.

Callback URI: http://localhost:8080/login/oauth2/code/naver와 같은 형식으로 설정합니다.

  • 이 값은 Spring Security에서 사용되는 OAuth2 리디렉션 URL입니다.

 

애플리케이션을 등록하면, Client IDClient Secret을 발급받습니다.

 

 

 

2. Spring Boot 설정

아래 포스팅을 확인해주세요.

 

[Spring Security5] OAuth2 로그인 설정

Spring Boot 애플리케이션에 OAuth 로그인을 추가하는 과정은 주로 Spring Security와 OAuth2 클라이언트 설정을 통해 이루어집니다. OAuth 제공자(예: Google, Facebook, Naver 등)와 통합하기 위한 일반적인 순서

moonsiri.tistory.com

 

application.yml 예시:

spring:
  security:
    oauth2:
      client:
        registration:
          naver:
            client-id: {client-id}           # 네이버에서 발급받은 client-id
            client-secret: {client-secret}   # 네이버에서 발급받은 client-secret
            scope: name, email               # 네이버에서 가져올 데이터 범위
            redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"  # Spring Security가 사용하는 리디렉션 URL
            authorization-grant-type: authorization_code
            client-authentication-method: client_secret_post
            client-name: Naver
        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  # 네이버는 "response" 객체 하위에 "id"를 포함

 

네이버 로그인 버튼 HTML 예시:

<a href="/oauth2/authorization/naver">네이버 로그인</a>

728x90
반응형