Spring Boot OAuth 고려할 점 정리

초기화

  • Spring Boot OAuth의 초기화는 AuthorizationServerEndpointConfiguration, AuthorizationServerSecurityConfiguration 클래스가 담당한다.

클라이언트

  • 클라이언트 오브젝트는 ClientDetails 인터페이스를 구현해야 한다. 기본 구현체로 BaseClientDetails 클래스가 제공된다.

  • client_secret 값은 절대 클라이언트 외부에 노출되면 안되는 데이터이기 때문에 해시 값으로 변환되어 저장소에 저장되어야 한다. PasswordEncoder 인터페이스의 encode() 메써드를 사용한다.

// 텍스트 그대로를 반환한다. 테스트 환경에서만 사용해야 하며 절대 운영 환경에서는 사용하면 안된다.
NoOpPasswordEncoder.getInstance().encode(client_secret);

// BCrypt 방식의 해시로 변환하여 반환한다. 운영 환경에 가장 적합하다.
BCryptPasswordEncoder.getInstance().encode(client_secret);

토큰

  • access_token 오브젝트는 OAuth2AccessToken 인터페이스를 구현해야 한다. 기본 구현된 클래스는 DefaultOAuth2AccessToken이다.
  • 토큰 저장소는 TokenStore 인터페이스를 구현하게 되어 있다.
저작자 표시 비영리 동일 조건 변경 허락
신고