이 학습서에서는 JSON 웹 토큰(JWT)을 생성하는
REST API 정의를 정의하고 구현하는 방법을 보여줍니다.
이 학습서에 대한 정보
이 학습서에서는 다음 학습을 완료합니다.
- JWT 생성
- REST API 테스트
참고 : 샌드박스 카탈로그는
DataPower® Gateway (v5 compatible) 또는
DataPower API Gateway 또는 둘 다를 사용하도록 구성해야 합니다.
“카탈로그 생성 및 구성”을 참조하십시오.
JWT 생성
REST API를 작성하여 JSON 웹 토큰(JWT)을 생성하고 리턴하십시오.
이 REST API를 추가하고 정의하려면 다음 단계를 완료하십시오.
- API 관리자에 로그인합니다.
- 시작 페이지에서 API 및 제품 개발 타일을 클릭하십시오.

- 클릭합니다.

- -도록 하세요 OpenAPI 3.0 이 선택됩니다.
- 새로 만들기 OpenAPI 를 선택하고 다음을 클릭합니다.

- REST API 정의를 작성하기 위해 적절한 정보를 입력하십시오.
- 제목 칸 에 JWT 를 입력합니다.
- 이름 및 기본 경로 필드는 각각 용어 jwt 및
/jwt로 자동으로 채워집니다.
- 버전 필드는 자동으로 1.0.0 로 채워집니다.

- 다음 을 클릭하십시오.
- 보안 섹션에서 다음을 클릭합니다.

- 새 API가 작성되는 진행상태를 볼 수 있습니다. 완료되면 요약이 표시됩니다. API 편집을 클릭합니다.

- 디자인 페이지의 사이드 바에서 경로를 선택하여
경로 패널을 표시하십시오.
- 추가 +를 클릭합니다.

- 경로 필드에 /gen을 입력합니다.
- 추가 를 클릭하십시오.

- 아래로 스크롤하십시오. 매개변수 섹션에서 + 추가를 클릭합니다.

- 매개변수 이름 필드에 iss-claim 를 입력합니다.
- 위치 목록에서 header 을 선택합니다.
- 설명란에 https://myidp.ibm.com 를 입력하여 일치시키십시오.
- 필수 확인란을 선택합니다.
- 추가 를 클릭하십시오.

- 아래로 스크롤하십시오. 스키마 섹션 에서, 만들기 클릭

- 유형 목록에서 문자열을 선택합니다.
- 추가 를 클릭하십시오.

- 파라미터를 생성한 후 저장을 클릭합니다.
- 두 번째 매개 변수를 추가하려면. 다음 단계를 완료하십시오.
- 디자인 페이지의 사이드 바에서 새로 생성된 /gen 경로 아래의 매개변수를 선택합니다.
- 추가 +를 클릭합니다.

- 매개변수 이름 필드에 aud-claim 를 입력합니다.
- 위치 목록에서 header 을 선택합니다.
- 설명란에 Enter ClientID1 를 입력하여 일치시키십시오.
- 필수 확인란을 선택합니다.
- 추가 를 클릭하십시오.

- 아래로 스크롤하십시오. 스키마 섹션 에서, 만들기를 클릭합니다.

- 유형 목록에서 string 을 선택합니다.
- 추가 를 클릭하십시오.

- 두 번째 변수를 만든 후 저장을 클릭합니다.
- 구성 요소 > 응답을 클릭합니다.
- 추가 를 클릭하십시오.

- 응답 이름 필드는 자동으로 200 로 채워집니다.
- 설명란 에 200 OK 를 입력합니다.

- 추가 를 클릭하십시오.
- 답변을 작성한 후 저장을 클릭합니다.
- 게이트웨이 탭을 선택합니다.
- 기존 정책 노드 위로 마우스를 가져간 다음 휴지통 아이콘을 클릭하여 삭제합니다.

- 작업에서 변수 설정을 클릭하여 처리 흐름 라인에 작업을 추가합니다. 구성 패널이 자동으로 열립니다.
- 작업 추가를 클릭합니다.

- 설정 필드 에 hs256-key 를 입력합니다.
- 유형 목록에서 string 을 선택합니다.
- 값 필드 에 JWK를 입력합니다. 예를 들면, 다음과 같습니다. {
"alg": "HS256", "kty": "oct", "use": "sig", "k":
"o5yErLaE-dbgVpSw65Rq57OA9dHyaF66Q_Et5azPa-XUjbyP0w9iRWhR4kru09aFfQLXeIODIN4uhjElYKXt8n76jt0Pjkd2pqk4t9abRF6tnL19GV4pflfL6uvVKkP4weOh39tqHt4TmkBgF2P-gFhgssZpjwq6l82fz3dUhQ2nkzoLA_CnyDGLZLd7SZ1yv73uzfE2Ot813zmig8KTMEMWVcWSDvy61F06vs_6LURcq_IEEevUiubBxG5S2akNnWigfpbhWYjMI5M22FOCpdcDBt4L7K1-yHt95Siz0QUb0MNlT_X8F76wH7_A37GpKKJGqeaiNWmHkgWdE8QWDQ",
"kid": "hs256-key" }

- 특성 패널을 닫으십시오. 저장 을 클릭하십시오.
- 작업에서 JWT 생성을 클릭하여 변수 설정 아이콘 뒤에 있는 처리 흐름 라인에 작업을 추가합니다. 구성 패널이 자동으로 열립니다.
참고: 어셈블리 빌드 흐름 패널이 보이지 않으면 설정 변수 근처에서 +를 클릭하여 패널을 표시합니다.

- 발행자 청구 필드에 request.headers.iss-claim 를 입력합니다.
- 입력하다 request.headers.aud-claim 청중 클레임 필드에서.
- hs256-key 를 Sign JWK 변수 이름 필드에 입력합니다.
- 암호화 알고리즘 목록에서 HS256 을 선택합니다.

- 특성 패널을 닫으십시오. 저장 을 클릭하십시오.
- 작업에서 GatewayScript 을 클릭하여 JWT 생성 아이콘 뒤에 있는 처리 흐름 라인에 작업을 추가합니다. 구성 패널이 자동으로 열립니다.
- 다음 코드를 입력하십시오.
var apim = require('apim');
apim.setvariable('message.body',apim.getvariable('generated.jwt'));

참고: 다음과 같은 경고가 표시될 수 있습니다 GatewayScript action: This gatewayscript policy should not use the
apim module which is only for migrating old APIs. 이 경고를 무시하고 계속 진행해도 됩니다.
- 특성 패널을 닫으십시오. 저장 을 클릭하십시오.
REST API 테스트
참고: 크로스 오리진 리소스 공유( CORS ) 제한 사항으로 인해, macOS Catalina 플랫폼의 Chrome 또는 Safari 브라우저에서는 어셈블리 테스트 도구를 사용할 수 없습니다.
REST API를 테스트하려면 다음 단계를 완료하십시오.
- 테스트를 클릭합니다.
참고: 카탈로그에 게이트웨이를 하나도 구성하지 않은 경우 REST API를 테스트할 수 없으며,
‘테스트’ 탭에 오류 메시지가 표시됩니다.

- Target 구성을 클릭하고 자동 게시를 켜짐으로 설정합니다.
- 환경설정 저장을 클릭합니다. API 상태는 테스트 탭에서 온라인 상태로 표시됩니다.
- Iss-claim 매개변 수에 해당하는 값 필드 에 https://myidp.ibm.com 를 입력합니다.
- ClientID1 를 aud-claim 매개변수에 해당하는 값 필드 에 입력합니다.
- 보내기를 클릭합니다.

- 응답이 생성된 JWT를 포함합니다.

API 정의 관리
이제 새 API가 올바르게 작동하므로 이 API를 관리할 수 있습니다. 즉각적 옵션을 보려면 다음 단계를 수행하십시오.
- 탐색 모음의
‘개발’ 아이콘을 클릭하세요.
- JWT API 옆에 있는 옵션
아이콘을 클릭하세요.
- 다운로드를 선택합니다.
이 학습서에서 수행한 작업
이 튜토리얼에서 다음 활동을 완료했습니다.
- JSON 웹 토큰(JWT)을 생성하는 새 API 정의를 작성했습니다.
- 새 API를 테스트했습니다.