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