JWT 플로우를 사용하여 조직의 사용자 지정 OAuth 2 애플리케이션 구성 및 사용
Workfront과 통합하고 클라이언트 앱이 사용자를 대신하여 Workfront과 통신할 수 있도록 하려면 다음을 수행해야 합니다.
- OAuth2 애플리케이션 만들기
- 공개 키 인증서 만들기
- JSON 웹 토큰(JWT) 생성
OAuth2 애플리케이션 만들기
OAuth2 애플리케이션 만들기에 대한 지침은 Workfront 통합을 위한 OAuth2 애플리케이션 만들기에서 서버 인증을 사용하여 OAuth2 애플리케이션 만들기(JWT 흐름)를 참조하십시오.
공개 키 인증서 만들기
액세스 요청에 포함하려면 JWT에 서명이 있고 base-64로 인코딩되어야 합니다. JWT 라이브러리는 이러한 작업을 수행하는 기능을 제공합니다.
디지털 서명 인증서에 대한 개인 키를 사용하여 토큰에 서명해야 합니다. 이렇게 하면 연결된 인증서의 개인 키를 사용하여 JWT에 서명할 수 있습니다.
사용된 알고리즘은 RS256(SHA-256을 사용한 RSA 서명)입니다. 이 알고리즘은 비대칭 알고리즘이며 공개/개인 키 쌍을 사용합니다. ID 공급자는 서명을 생성하는 데 사용되는 개인(비밀) 키를 가지며 JWT의 소비자는 서명의 유효성을 검사하는 공개 키를 받습니다.
공개 키를 생성하려면 다음 중 하나 를 실행하십시오.
-
macOS/Linux 터미널을 열고 다음 명령을 실행한 다음 Workfront의 OAuth2 애플리케이션 설정에서 공개 키 추가 단추를 사용하여
certificate_pub.crt
을(를) 업로드합니다.code language-none openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
-
Workfront의 OAuth2 애플리케이션 설정에서 공개/비공개 키 쌍 생성 버튼을 사용하여 RSA를 생성합니다.
JSON 웹 토큰 만들기
서비스 계정 인증을 위한 JSON 웹 토큰에는 특정 클레임 집합이 필요하며 유효한 디지털 서명 인증서를 사용하여 서명해야 합니다. JWT를 작성하는 데 공개적으로 사용 가능한 라이브러리 또는 도구 중 하나를 사용하는 것이 좋습니다.
다음 표에는 JWT 토큰을 구성할 때 필요할 수 있는 필드에 대한 정보가 나와 있습니다.
JWT를 교환하여 액세스 토큰 검색
-
POST 요청을 다음으로 보내기:
code language-none https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
-
요청 본문에는 클라이언트 ID, 클라이언트 암호 및 JWT가 있는 URL로 인코딩된 매개 변수가 포함되어야 합니다.
code language-none client_id={client_id_value}&client_secret={client_secret_value}&jwt_token={base64_encoded_JWT}