Study/basic

[Basic] Frontend의 이해 - Authentication Strategies

오후 6시의 봄 2023. 7. 4. 23:15

  1. 기본 인증 (Basic Authentication)
    • 사용자가 각 요청마다 자격증명(사용자 이름과 비밀번호)을 제공하는 간단한 인증 방법
    • 자격증명은 일반적으로 Base64 인코딩을 사용하여 HTTP 헤더에 포함시켜 전송
    • 비교적 보안 수준이 낮은 방법
  2. 세션 기반 인증 (Session Based Authentication)
    • 서버 측에서 세션을 유지하고 클라이언트에게 세션 식별자를 부여하여 인증하는 방법
    • 사용자가 로그인하면 서버는 세션을 생성하고 세션 식별자를 클라이언트에게 제공
    • 클라이언트는 각 요청에 세션 식별자를 포함시켜 서버에 인증을 유지
  3. 토큰 기반 인증 (Token Based Authentication)
    • 클라이언트에게 발급된 토큰을 사용하여 인증
    • 사용자가 로그인하면 서버는 토큰을 생성하고 클라이언트에게 제공
    • 클라이언트는 각 요청에 토큰을 포함시켜 서버에 인증을 유지
  4. JWT 인증 (JWT Authentication)
    • JSON 웹 토큰을 사용하여 인증
    • JWT는 클레임(claim) 기반으로 구성되어 있으며, 서버에서 발급된 토큰에는 사용자 및 인가 정보 포함
    • 클라이언트는 각 요청에 JWT를 포함시켜 서버에 인증을 유지
  5. OAuth
    • 제3자 애플리케이션이 사용자의 데이터에 접근 권한을 얻을 수 있는 인증 및 권한 부여 프레임워크
    • 사용자는 자신의 인증 정보를 제공
    • 애플리케이션은 제3자 인증 공급자를 통해 액세스 토큰을 얻어 데이터에 접근
  6. SSO (Single Sign-On)
    • SSO는 사용자가 여러 애플리케이션 또는 서비스에 대해 단일 인증으로 로그인할 수 있는 인증 방식
    • 사용자는 단일 세션을 통해 다양한 시스템에 액세스
    • 로그인 정보를 한 번만 제공하면 됨