본문 바로가기

CLOUD

[Azure] OAuth 2.0 인증 흐름

1. 인증 코드 부여

앱 등록 > 인증 > redirect uri 등록 필수

authorize 엔드포인트에서 authorization code 받은 후 token 엔드포인트에서 access token 획득

scope : openid offline_access로 요청된 경우에만 refresh_token 및 id_token  제공

code 대신 refresh_token을 입력하여 POST 요청을 /token 엔드포인트에 제출하면 새로운 access token 획득

 

 

2. 클라이언트 자격 증명 부여

adminconsent 엔드포인트에서 관리자에게 승인을 받아야 넘어갈 수 있음

 

 

3. 디바이스 권한 부여

앱 등록 > 인증 > 퍼블릭 클라이언트 흐름 사용 설정 필수

devicecode 엔드포인트에서 device_code, user_code, verification_uri 얻음

verification uri에서 user code로 로그인 후 device code를 통해 access token 획득

 

 

4. OBO 흐름

앱 등록 2개 필요 > 각 API 표시 설정 필요

중간 계층(API A)에서 access token 획득 후  access token을 사용하여 API A에 요청

API A는 token 엔드포인트에서 API B에 액세스하기 위한 토큰 요청

API B에 대한 access token을 API A에 발급

API A에 의해 access token B에 권한 부여 헤더에 설정

 

 

5. 암시적 허용

앱 등록 > 인증 > 암시적 허용 및 하이브리드 흐름 사용 필수

authorize 엔드포인트에서 id token 획득

refresh token 없음 = 새로운 토큰을 받으려면 id_token과 nonce 매개변수 필요

 

 

6. 리소스 소유자 암호 자격 증명

MS에서 권장하지 않음

아이디 및 비밀번호 노출 위험