PingFederate でのクライアント資格証明付与タイプの実装
このトピックでは、OAuth クライアント資格証明付与タイプを使用してリソースへのアクセスを承認し、リソースオーナーを認証する手動の手順について説明します。ここで、OAuth クライアントは PingFederate を CAS として使用するサービスプロバイダです。Windchill サーバーはリソースサーバーです。Atlas で構成されているシステムで LDAP プロトコルが OAuth プロトコルに置き換えられたことに伴い、Windchill は OAuth/トークンベースの認証を使用して API を呼び出す必要があります。
必要条件
ここでのすべてのサブセクションは、中央認証サーバー (CAS)、Windchill、およびクライアントアプリケーションが OAuth 用に設定されていることを前提としています。Windchill は OAuth を使用するリソースサーバーとして設定されている必要があります。OAuth クライアントはサービスプロバイダとして登録されている必要があります。
PingFederate クライアント資格証明登録
クライアント資格証明登録を行うには、PingFederate で以下の手順に従います。
1. 拡張プロパティの作成 - 「SYSTEM」 > 「Extended Properties」でプロパティ serviceprincipal を作成します。
2. アクセストークンマッピング - 「APPLICATIONS」 > 「Access Token Mappings」で新しいアクセストークンマッピングを作成します。コンテキスト (クライアント資格証明) とデフォルトのアクセストークンマネージャを選択します。
3. 契約履行 - 手順 1 で拡張プロパティとして設定したユーザー属性 serviceprincipal を使用して契約履行を設定します。
PingFederate でのクライアント登録の手順
CAS (PingFederate) でクライアントを登録するには、PingFederate で以下の手順に従います。
1. 「APPLICATIONS」 > 「OAuth」 > 「Clients」 > 「Add Client」で新しいクライアントを作成します。「Client ID」と「Name」に入力します。
2. 「Client Authentication」で「Client Secret」を選択します。
3. クライアントシークレットを生成し、安全な場所にコピーして後から使用できるようにします。
4. 付与タイプをクライアント資格証明に設定します。
5. デフォルトのアクセストークンマネージャをデフォルトに設定します。
6. その他のコンフィギュレーションについては、で説明されている手順に従います。
承認されたアプリケーションからのアクセストークンリクエスト
Web アプリケーションサーバーは、アクセストークンを取得するために認証コードを交換します。このために、認証サーバーのトークンエンドポイントに対して POST リクエストが行われます。リクエストボディには、以前に取得した認証コードが含まれています。リクエストボディのコンテンツタイプは application/x-www-form-urlencoded でなければなりません。リクエスト URI の詳細は次のとおりです。

#URI
POST <URL_CAS_SERVER_TOKEN>
#Request Headers
Content-Type: application/x-www-form-urlencoded
#Request Body
grant_type= client_credentials&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&scope=<scope>
#Example of the URI
POST https://<host>:<port>/as/token.oauth2
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&client_id=sp1-oauth2-client&client_secret=sp1-oauth2-client_1234&scope= WINDCHILL_READ
#Example of the Response code
{
"scope": "WINDCHILL_READ",
"active": true,
"token_type": "Bearer",
"exp": 1714125449,
"client_id": "wcadmin"
"serviceprincipal": "wcadmin"
}
パラメータ
説明
grant_type
このフローの付与タイプは client_credentials です。
CLIENT_ID
CAS で生成されたこの Web アプリケーション用クライアント ID。PTC の ID とアクセスの管理のヘルプセンターの「Windchill 用の OAuth クライアント接続の作成」のトピックを参照してください。
CLIENT_SECRET
これは、この Web アプリケーションを設定する際に CAS で入力したクライアントシークレットです。PTC の ID とアクセスの管理のヘルプセンターの「Windchill 用の OAuth クライアント接続の作成」のトピックを参照してください。
SCOPE
Windchill または WRS にアクセスする場合、WINDCHILL_READ でなければなりません。
これは役に立ちましたか?