2024-08-02 MSA (Microservices Architecture) - 8

박영무·2024년 8월 2일

MSA

목록 보기
8/12
post-thumbnail

강의 자료 링크 (클릭)

목표

  1. OAuth2와 JWT에 대해 이해한다.



OAuth2 (The OAuth 2.0 Authorization Framework)

- RFC 6749에서 정의된 토큰 기반의 인증 및 권한 부여 프로토콜이다.


OAuth2 Roles

1. Resource Owner (자원 소유자)

- 자신이 소유하고 있는 리소스 (예: 계정 정보, 사진, 데이터 등)에 접근할 권리가 있는 사용자이다.

2. Resource Server (보호 자원 서버)

- 보호된 리소스를 호스팅하는 서버이다.

- 클라이언트는 Authorization Server로부터 받은 Access Token을 사용하여 이 서버에 요청을 보낸다.

3. Authorization Server (인가 서버)

- 사용자의 동의 (Consent)를 위해 상호작용하는 서버이다.

- 클라이언트가 보낸 권한 부여 요청을 인가 서버에서 승인하면 클라이언트에게 Access Token을 발급한다.

4. Client (클라이언트)

- Resource Owner를 대신하여 Authorization Server에 접근하려는 애플리케이션이다.

- 자원 소유자의 허가를 받아야 작동할 수 있다.


JWT (JSON Web Token)

- 두 시스템 간에 정보를 안전하게 전송하기 위해 사용되는 JSON 형식의 토큰이다.

- 자가에 모든 정보를 포함하고 있어 Stateless 통신에 적합하다.

JWT의 구성 요소

1. Header (헤더)

- 타입 (typ): 토큰의 타입으로, 보통 JWT로 설정된다.

- 알고리즘 (alg): 서명을 해시하는 데 사용된 알고리즘으로, 일반적으로 HS256이나 RS256을 사용한다.

2. Payload (페이로드)

- 토큰에 담을 실제 데이터인 Claim을 포함한다.

- 클레임은 사용자 정보, 토큰의 발행 시간, 만료 시간 등과 같은 데이터를 포함할 수 있다.

3. Signature (서명)

- JWT의 무결성을 보장하기 위해 사용된다.

- Header, Payload와 Secret Key를 결합해 생성된다.

profile
시행착오는 성장의 밑거름입니다.

0개의 댓글