-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
47 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
- OAuth2 방식 | ||
- OAuth2란 무엇일까요? | ||
- Open Authorization 2.0, 인터넷 사용자들이 애플리케이션 또는 서비스에 접근할 수 있도록 인증을 제공하는 프로토콜. 사용자가 애플리케이션의 비밀번호를 직접 입력하지 않고, 신뢰할 수 있는 인증 기관(Google, Facebook 등)을 통해 권한을 부여 | ||
- 우리 주변에서 OAuth2 방식이 주로 사용되는 곳은 어디일까요? (Hint: 간편 로그인) | ||
- 간편 로그인(소셜 로그인): Google, Facebook, GitHub, Twitter 계정을 사용하여 타사 앱에 로그인 | ||
- 토큰이란 무엇일까요? | ||
- 토큰은 권한을 확인하기 위해 발급되는 교유한 문자열. OAuth2에서 클라이언트와 서버 간의 인증 및 데이터 요청 시 사용됨 | ||
- OAuth2에서 사용되는 토큰은 어떤 것이 있고, 각각 어떤 용도일까요? | ||
1. Access Token | ||
- 보호된 리소스에 접근하기 위한 토큰. 제한된 기간동안 유효하며, 주로 클라이언트가 서버로 요청할 때 사용됨 | ||
2. Refresh Token | ||
- Access Token이 만료되었을 때 새 Access Token을 발급받기 위해 사용됨. 보통 더 긴 유효기간을 가짐 | ||
- OAuth2 방식의 장점과 단점은 무엇일까요? | ||
- 장점 | ||
- 비밀번호를 공유하지 않아도 안전하게 권한을 위임할 수 있음 | ||
- 여러 애플리케이션 간 권한 관리 용이 | ||
- 단점 | ||
- 구현 복잡성 | ||
- 토큰이 탈취될 경우 보안 위험있음 | ||
- Cookie와 Session | ||
- Cookie란 무엇일까요? | ||
- 쿠키는 사용자의 웹 브라우저에 저장되는 작은 데이터 조각으로, 웹사이트가 사용자의 정보를 유지하거나 사용자 추적을 위해 사용됨 | ||
- Cookie는 어떤 형식으로 이루어져 있나요? | ||
- Key-Value 쌍으로 이루어져 있으며 옵션으로는 유효 기간, 도메인, 경로, 보안 속성 등이 포함 | ||
- Session이란 무엇일까요? | ||
- 서버에 저장된 클라이언트 상태 정보를 관리하기 위한 방법. 사용자가 웹사이트에 접속하면 고유의 세션 ID가 발급되며, 서버는 해당 세션 ID를 기반으로 데이터를 식별 | ||
- Cookie와 Session을 사용하는 이유는 무엇일까요? | ||
- 웹이 stateless 프로토콜이기 때문에, 상태 정보를 유지하려면 추가적인 메커니즘이 필요함 | ||
- Cookie와 Session의 차이는 무엇일까요? | ||
- Cookie : 클라이언트(브라우저)에 저장. 데이터가 노출될 위험 있음 | ||
- Session: 서버에 저장. 클라이언트에는 세션 ID만 전달. 더 안전함 | ||
- JWT 방식 | ||
- JWT (JSON Web Token)은 무엇일까요? | ||
- JWT는 클라이언트와 서버 간의 데이터 교환에 사용되는 JSON 기반의 토큰. 클라이언트는 서버로부터 JWT를 발급받고, 이후 요청 시 이를 포함하여 인증 | ||
- JWT 방식의 토큰은 어떤 구조로 되어있고, 각각 어떤 용도로 사용되나요? | ||
1. Header : 토큰의 타입과 서명 알고리즘 정보 | ||
2. Payload : 사용자 정보와 기타 데이터 | ||
3. Signature : Header와 Payload를 암호화한 값. 토큰의 무결성을 검증함 | ||
- JWT 방식의 장점과 단점은 무엇일까요? | ||
- 장점 | ||
- 토큰 자체에 데이터를 포함하므로 서버에 상태 정보를 저장할 필요가 없음 | ||
- 다양한 클라이언트(모바일, 웹 등) 에서 사용 가능함 | ||
- 단점 | ||
- 토큰이 길어 네트워크 대역폭이 증가할 수 있음 | ||
- 만료 전 탈취 시 보안 위험성 있음 | ||
- 토큰 갱신이 어려움 |