2025-01-26T02:57:06
This commit is contained in:
31
doc/21_인증.md
Normal file
31
doc/21_인증.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# 인증(Authentication)
|
||||
인증은 사용자가 누구인지 확인하는 과정을 의미합니다.
|
||||
일반적으로 로그인 과정을 통해 사용자 신원을 확인하며, 이후 세션을 통해 인증 상태를 유지합니다.
|
||||
|
||||
## 세션 기반 인증
|
||||
* 서버에 세션 정보를 저장하고, 클라이언트는 세션 ID를 쿠키로 저장.
|
||||
* 서버에서 세션 ID를 확인하여 사용자를 인증.
|
||||
|
||||
### 세션 기반 인증 흐름
|
||||
1. 클라이언트가 로그인 요청을 보냄.
|
||||
2. 서버는 사용자를 인증한 후 세션을 생성하고, 세션 ID를 쿠키로 설정하여 클라이언트에 반환.
|
||||
3. 클라이언트는 이후 요청마다 해당 세션 ID를 쿠키에 포함하여 보냄.
|
||||
4. 서버는 세션 ID를 기반으로 사용자를 인증.
|
||||
|
||||
## 토큰 기반 인증
|
||||
* 사용자를 인증하면 **토큰(JWT)**을 생성하여 클라이언트에 전달.
|
||||
* 클라이언트는 요청 시 토큰을 포함(Authorization 헤더)하여 인증.
|
||||
|
||||
### 토큰 기반 인증 흐름 (JWT)
|
||||
1. 클라이언트가 로그인 요청을 보냄.
|
||||
2. 서버는 사용자를 인증한 후 **JSON Web Token(JWT)**을 생성하여 클라이언트에 반환.
|
||||
3. 클라이언트는 토큰을 로컬 저장소 또는 쿠키에 저장.
|
||||
4. 이후 요청 시 토큰을 Authorization 헤더에 포함하여 서버에 전송.
|
||||
|
||||
## OAuth
|
||||
* 서드파티 인증을 위한 표준 프로토콜.
|
||||
* Google, Facebook, GitHub 등을 통한 로그인 방식.
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user