Spring Security OAuth

young·2023년 10월 30일
0

Spring Security

목록 보기
2/7

OAuth 2.0 로그인

OAuth 2.0 로그인 기능을 사용하면 애플리케이션에서 사용자가 OAuth2.0 공급자 또는 OpenID Connect 1.0 공급자의 기존 계정을 사용하여 애플리케이션에 로그인할 수 있음.

초기설정

1. 리디렉션 URI 설정

리디렉션 URI는 최종 사용자의 사용자 에이전트가 Google에 인증하고 동의 페이지에서 OAuth 클라이언트에 대한 엑세스 권한을 부여한 후 다시 리디렉션되는 애플리케이션의 경로

기본 리디렉션 URI 템플릿

**{baseUrl}/login/oauth2/code/{registrationId}**

localhost:8080/login/oauth2/code/google

: registrationId 의 고유 식별자(ClientRegistration)

2. application.yml 구성

spring:
  security:
    oauth2:
      client:
        registration:
          google:
            client-id: google-client-id
            client-secret: google-client-secret
  1. spring.security.oauth2.client.registration = OAuth 클라이언트 속성의 기본 속성 접두사
    -> 기본 속성 접두사 다음 ClientReigstraion / google과 같은 ID 표시
  2. client-id 및 속성의 값을 client-secret 이전에 생성한 OAuth 2.0 자격 증명으로 바꿈

CommonOAuth2Provider

CommonOAuth2Provider 는 여러 제공업체(ex.google,Facebook 등) 잘 알려진 여러 제공업체에 대한 기본 클라이언트 속성 집합 미리 정의

  • 공급자에 대한 authorization-uri, token-uri, user-info-uri는 자주 변경되지 않으므로 기본값 제공
    -> ex. Google 클라이언트 구성한 client-id & client-secret 필요
spring:
  security:
    oauth2:
      client:
        registration:
          google:
            client-id: google-client-id
            client-secret: google-client-secret
spring:
  security:
    oauth2:
      client:
        registration:
          google-login:	
            provider: google	
            client-id: google-client-id
            client-secret: google-client-secret

공식 문서를 읽으면서 정리하다보니 이해가 되면서도 안되는 .. ^^
자주 읽어보는 습관을 가져야겠다.

🔗🔗
https://docs.spring.io/spring-security/reference/servlet/oauth2/login/core.html

profile
ฅʕ•̫͡•ʔฅ

0개의 댓글