Search

OAuth2.0 토큰 발급, 검증

본 문서에서는 OAuth2.0 Credential을 활용한 인증 및 토큰 발급 과정을 설명합니다.
Index

Credential

1) OAuth2.0 Credential 생성

No.
기능
1
Credential Group 생성 - Studio > Credential > Create Credential Group
2
Credential 생성 - 해당 Group 선택 > Create Credential
3
Credential Type OAuth 2.0 선택
4
Environmental 별 Credential 생성 - Dev, Stage, Production, Feature, Hotfix
5
Credential 정보(이름과 설명) 입력

2) App-Credential 매핑

NBlock

1) Token 생성을 위한 Request Header, Body 설정

No.
기능
1
HashpMap 블록으로 Header 구성 - Content-Type : application/json
2
HashpMap 블록으로 Request Body 구성 - grant_type : client_credentials - client_id : null - client_secret : null - scope : 허용된 리소스 범위 지정
3
등록한 request body의 json 형태

2) Request Data fetch로 가져와 확인하기

No.
기능
1
request data 변수로 받아 가져오기 - Fetch ID : request 블록의 ID
2
request Data를 Json 형태로 인코딩 후 Debug 블록으로 확인 - console log에서 request data를 확인해 볼 수 있습니다.
3
__origin__예약어를 통해 BizUnit API에서 사용하는 request header data 전체 파싱
4
__origin__예약어로 가져온 전체 request data를 json으로 인코딩 후 Debug 블록으로 확인 - console log에서 확인해 볼 수 있습니다.

3) Statements에서 OAuth2.0 Token create 구성

No.
기능
1
Create / Set to 블록으로 token 변수 생성
2
Token Create 블록으로 Token 생성에 필요한 value 입력 - lifetime : 유효 기간(초 단위) - token type : 토큰 타입 설정, null로 두면 Bearer type token 생성 - supported-scope : API의 권한 제어, 여러 개의 권한을 요청할 경우 ArrayList 타입으로 등록 - refresh-token lifetime : refresh token의 유효 기간 (integer 타입) - new refresh-token : 리프레시 토큰으로 새로운 액세스 토큰을 발급받을 때, true/false 새로운 리프레시 토큰을 받을지 여부를 선택 - extension : 추가 확장 기능

4) Token Info를 받기 위한 Response 세팅

5) Token 발급 Test

Studio Testbed
No.
기능
1
BizUnit 작성 후 Save() > Build 하고 Test 버튼으로 API 테스트를 할 수 있습니다.
2
Request Header와 Body에 정보를 입력한다. credential을 통해 생성한 OAuth2.0 credential 정보(client_id, client_secret)를 기입합니다.
3
Run 버튼을 클릭하면 Response로 생성된 토큰 정보를 확인할 수 있습니다.
외부 API Test tool - Postman
No.
기능
1
BizUnit 작성 후 Save() > Build 하고 Document 버튼을 클릭하면 API 명세 페이지로 이동합니다.
2
Request Header와 Body에 정보를 입력합니다. credential을 통해 생성한 OAuth2.0 credential 정보(client_id, client_secret)를 기입합니다.
3
API 명세의 내용을 바탕으로 Postman에 Request Body의 정보를 입력합니다. 이 때, credential을 통해 생성한 OAuth2.0 credential 정보(client_id, client_secret)를 기입합니다.
4
API Test를 위해 Send 버튼을 클릭합니다.
5
Response Body를 통해 생성된 토큰 정보를 확인할 수 있습니다.

6) OAuth2.0 Token Verify 블록으로 Token 검증

No.
기능
1
Request Header에 검증할 Token을 받을 HashMap 블록 선언 - Authorization : Bearer
2
Statements에 OAuth2.0 Token Verify 블록 구성, 검증 결과를 담을 변수 verification 생성
3
Response Body에 verification 변수를 받아 결과를 전송
4
주요 검증 결과
4-1
Verify Success - 토큰 정보 response
4-2
Verify Fail - 잘못된 토큰 정보
4-3
Verify Fail - 기간 만료