Spring Security를 뜯어보자 (1. authentication)

leverest96·2023년 10월 17일
0

Spring / Java

목록 보기
20/20
post-thumbnail

spring security에서 사용되는 authentication은 인터페이스이며
AbstractAuthenticationToken은 authentication 인터페이스를 구현한 추상 클래스이다.

아래는 AbstractAuthenticationToken을 확장한 구현체의 일부분이다.
종류에 따라 구체적인 인증 정보를 다루기 위한 클래스로 상황에 맞게 사용하면 된다.

나의 경우 웹 프로젝트에서 사용할 것이고 찾아본 결과 대부분의 웹 프로젝트에서는 SSO 시나리오를 사용한다고 하여 PreAuthenticatedAuthenticationToken을 사용했다.

Token의 종류

  1. AbstractOAuth2TokenAuthenticationToken

    • OAuth 2.0 토큰 기반의 인증을 나타내는 추상 클래스입니다.
  2. AnonymousAuthenticationToken

    • 익명 사용자 인증을 나타내며, 인증이 필요하지 않은 경우 사용됩니다.
  3. BearerTokenAuthenticationToken

    • Bearer 토큰 기반의 인증을 나타내며, 주로 OAuth 2.0 인증에서 사용됩니다.
  4. OAuth2AuthenticationToken

    • OAuth 2.0 기반의 인증을 나타냅니다.
  5. OAuth2AuthorizationCodeAuthenticationToken

    • OAuth 2.0 인증 코드 기반의 토큰을 나타냅니다.
  6. OAuth2LoginAuthenticationToken

    • OAuth 2.0 로그인 기반의 토큰을 나타냅니다.
  7. PreAuthenticatedAuthenticationToken

    • 사용자 인증을 선행적으로 확인하며, 보통 SSO(Single Sign-On) 시나리오에서 사용됩니다.
  8. RememberMeAuthenticationToken

    • "기억하기" 인증을 나타내며, 사용자의 장기적인 인증을 유지하는 데 사용됩니다.
  9. TestingAuthenticationToken

    • 테스트 목적으로 사용되며, 실제 인증 정보를 대체하는 데 유용합니다.
  10. UsernamePasswordAuthenticationToken

    • 사용자 이름과 암호를 사용하여 인증을 나타냅니다. 가장 일반적인 인증 방식 중 하나입니다.

https://whatistudy.tistory.com/entry/%EC%B6%94%EA%B0%80-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0-OAuth-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%B2%98%EB%A6%AC-%EB%B0%A9%EB%B2%95-2

profile
응애 난 애기 개발자

0개의 댓글