OpenSource/Spring Security

SpringSecurity OAuth2.0 사용(feat. No Authroization Server Support)

태하팍 2024. 7. 5. 01:03
반응형

아래는 OAuth2.0을 개발하기 위해 리서치를 하다가 발견했던 내용 입니다.
회사 위키에만 작성하느라 블로그에 너무 소홀했던거 같아 재포스팅 합니다:)

  • OAuth2.0 spec 중 AuthorizationServer의 역할이 필요!
    • 자체 개발
    • SpringSecurity OAuth2.0 사용
    • 인증서버 오픈소스 사용(KeyCloak?)
  • 논의 후 SpringSecurity OAuth2.0 사용하기로 함.
    • sample 소스를 작성하다 Deprecated된 것을 발견!

그래서 왜 Deprecated가 된거지? 라는 호기심으로 찾아보니..
스프링 블로그에서 원인을 찾을 수 있었습니다.

아래의 내용처럼 더이상 Authorization Server를 지원하지 않기로 함!..

번역)

2012년 10월에는 OAuth 2.0 인증 프레임워크인 RFC 6749가 게시되었습니다.
이후 2014년 5월 Spring Security OAuth는 Authorization Server, Resource Server 및 Client를 지원하는 2.0.0 버전을 출시했습니다.
이것은 OAuth 2.0 라이브러리와 제품이 없는 상황에서 매우 의미가 있었습니다.
Spring Security의 Authorization Server 지원은 결코 적합하지 않았습니다.
Authorization Server는 제품을 빌드하기 위해 라이브러리가 필요합니다.
프레임워크인 Spring Security는 라이브러리나 제품을 구축하는 비즈니스가 아닙니다.
예를 들어, 우리는 JWT 라이브러리가 없지만 대신 Nimbus를 사용하기 쉽게 만듭니다.
또한 자체 SAML IdP, CAS 또는 LDAP 제품을 유지 관리하지 않습니다.

2019년에는 상용 및 오픈 소스 인증 서버가 많이 있습니다.

따라서 Spring Security 팀은 더 이상 인증 서버에 대한 지원을 제공하지 않기로 결정했습니다.
업데이트: Authorization Server를 지원하지 않기로 한 결정에 대한 의견을 보내주신 모든 분들께 감사드립니다.
이 피드백과 일부 내부 논의로 인해 이 결정을 다시 검토하고 있습니다. 진행 상황이 있으면 커뮤니티에 알립니다.

댓글에는 KeyCloak이 언급되고 있네요 

결론적으로 처음에는 OAuth2.0관련 제품이 없을 때는 의미가 있었는데 인증서버 오픈소스들이 많이 나왔고 스프링시큐리티의 취지에 맞지 않아서 제공하지 않는것으로 보입니다.

keycloak등의 오픈소스 등도 리서치 해보면 좋을것 같다는 생각을 하였음.

반응형