Last updated
Last updated
는 Spring에서 지원하는 널리 사용되는 인증 프레임 워크입니다.
ㅁ만약 너의 클래스 패스에 spring-security-oauth2-client
가 있다면 자동 구성 기능을 활용하여 OAuth2 / Open ID Connect 클라이언트를 쉽게 설정할 수 있습니다. 이 구성은 OAuth2ClientProperties
아래의 속성을 사용합니다. 동일한 속성이 서블릿 및 리 액티브 응용 프로그램에 모두 적용됩니다.
다음 예와 같이 spring.security.oauth2.client
접두사 아래에 여러 OAuth2 클라이언트 및 공급자를 등록 할 수 있습니다.
기본적으로 스프링 시큐리티는 OAuth2LoginAuthenticationFilter
는 오직 /login/oauth2/code/*
와 일치하는 URL 만 처리합니다.다른 패턴을 사용 하도록 redirect-uri
를 사용자 정의하려는 경우 해당 사용자 정의 패턴을 처리하기위한 구성을 제공해야합니다. 예를 들어, 서블릿 응용 프로그램의 경우 WebSecurityConfigurerAdapter
같은 자신 만의 응용 프로그램을 추가 할 수 있습니다 .
일반 공급 업체를위한 OAuth2 클라이언트 등록
구글, Github에서, 페이스 북, 그리고 Okta를 포함하여 일반적인 OAuth2를 및 오픈 ID 공급자, 제공업체의 경우 Google에서는 제공ㄱ자 기본값 (google
, github
, facebook
, 및 okta
).을 제공합니다.
이러한 공급자를 사용자 지정할 필요가없는 경우 기본값을 유추해야하는 특성을 provider
특성으로 설정할 수 있습니다 . 또한, 클라이언트 등록을위한 키가 기본 지원되는 프로 바이더와 일치하면 Spring Boot도 이를 추론합니다.
즉, 다음 예제의 두 가지 구성은 Google 제공 업체를 사용합니다.
spring 부트는 다음 예제와 같이 JWK Set URI 또는 OIDC Issuer URI가 지정되어있는 한 spring-security-oauth2-resource-server
를 설정할 수 있습니다.
서블릿 및 리 액티브 응용 프로그램 모두에 동일한 특성이 적용됩니다.
또는 서블릿 애플리케이션 용으로 자체 JwtDecoder
bean을 정의 하거나 반응 형 애플리케이션 용으로 ReactiveJwtDecoder
bean을 정의 할 수 있습니다 .
을 지원하는 OpenID Connect 제공 업체의 경우 구성을 더욱 단순화 할 수 있습니다. 공급자는 Issuer Identifier로 주장하는 URI 인 issuer-uri
로 구성해야합니다 . 예를 들어, issuer-uri
가 "https://example.com"이면 OpenID Provider Configuration Request
는 "https://example.com/.well-known/openid-configuration"이됩니다. 그 OpenID Provider Configuration Response
결과는 다음과 같을 것으로 예상됩니다 . 다음 예제는 issuer-uri
로 OpenID Connect Provider를 다음과 같이 구성하는 방법을 보여줍니다 .
현재 스프링 시큐리티는 OAuth 2.0 인증 서버 구현을 지원하지 않습니다. 그러나이 기능은 프로젝트에서 사용할 수 있습니다.이 프로젝트는 결국 Spring Security로 완전히 대체 될 것입니다. 그때까지는 spring-security-oauth2-autoconfigure
모듈을 사용하여 OAuth 2.0 인증 서버를 쉽게 설정할 수 있습니다. 지침은 해당 를 참조하십시오.