학습서: JSON 웹 토큰(JWT) 생성

이 학습서에서는 JSON 웹 토큰(JWT)을 생성하는 REST API 정의를 정의하고 구현하는 방법을 보여줍니다.

이 학습서에 대한 정보

이 학습서에서는 다음 학습을 완료합니다.
  1. JWT 생성
  2. REST API 테스트
참고 : 샌드박스 카탈로그는 DataPower® Gateway (v5 compatible) 또는 DataPower API Gateway 또는 둘 다를 사용하도록 구성해야 합니다. “카탈로그 생성 및 구성”을 참조하십시오.

JWT 생성

REST API를 작성하여 JSON 웹 토큰(JWT)을 생성하고 리턴하십시오.

이 REST API를 추가하고 정의하려면 다음 단계를 완료하십시오.
  1. API 관리자에 로그인합니다.
  2. 시작 페이지에서 API 및 제품 개발 타일을 클릭하십시오.

    API 관리자 화면

  3. ‘추가’ > ‘API’를 클릭합니다.

    API 화면 추가

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

    선택 OpenAPI

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

    기본 정보 화면

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

    보안 API

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

    새로운 API 요약

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

    경로 페이지

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

    경로 정보 추가

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

    매개변수 추가

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

      경로 매개변수 설정

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

      스키마 추가

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

      문자열 추가

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

      매개변수 사이드 바

    2. 추가 +를 클릭합니다.

      매개변수 페이지

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

      경로 매개변수 설정

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

      스키마 추가

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

      문자열 추가

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

    답변 페이지

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

    스키마 추가

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

    게이트웨이 페이지

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

    변수 설정 동작 추가됨

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

    Setvar 속성

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

    JWT 생성 작업 추가됨

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

    JWT 속성 생성

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

    GatewayScript 추가된 작업

    참고: 다음과 같은 경고가 표시될 수 있습니다 GatewayScript action: This gatewayscript policy should not use the apim module which is only for migrating old APIs. 이 경고를 무시하고 계속 진행해도 됩니다.
  40. 특성 패널을 닫으십시오. 저장 을 클릭하십시오.

REST API 테스트

참고: 크로스 오리진 리소스 공유( CORS ) 제한 사항으로 인해, macOS Catalina 플랫폼의 Chrome 또는 Safari 브라우저에서는 어셈블리 테스트 도구를 사용할 수 없습니다.
REST API를 테스트하려면 다음 단계를 완료하십시오.
  1. 테스트를 클릭합니다.
    참고: 카탈로그에 게이트웨이를 하나도 구성하지 않은 경우 REST API를 테스트할 수 없으며, ‘테스트’ 탭에 오류 메시지가 표시됩니다.테스트
  2. Target 구성을 클릭하고 자동 게시를 켜짐으로 설정합니다.
  3. 환경설정 저장을 클릭합니다. API 상태는 테스트 탭에서 온라인 상태로 표시됩니다.
  4. Iss-claim 매개변 수에 해당하는 값 필드https://myidp.ibm.com 를 입력합니다.
  5. ClientID1aud-claim 매개변수에 해당하는 값 필드 에 입력합니다.
  6. 보내기를 클릭합니다.

    테스트 페이지와 전송 버튼

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

    테스트 결과

API 정의 관리

이제 새 API가 올바르게 작동하므로 이 API를 관리할 수 있습니다. 즉각적 옵션을 보려면 다음 단계를 수행하십시오.

  1. 탐색 모음의 개발 아이콘 ‘개발’ 아이콘을 클릭하세요.

    탐색줄

  2. JWT API 옆에 있는 옵션 관리 아이콘 아이콘을 클릭하세요.

    API 관리

  3. 다운로드를 선택합니다.

이 학습서에서 수행한 작업

이 튜토리얼에서 다음 활동을 완료했습니다.
  • JSON 웹 토큰(JWT)을 생성하는 새 API 정의를 작성했습니다.
  • 새 API를 테스트했습니다.