본 문서에서는 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
- 기간 만료 |