Authoring and Management APIまたはDeploy API用のJSONウェブトークンを作成します
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecoreのオーサリング・マネジメントGraphQL APIやデプロイメントREST APIで操作を実行するには、JSON Web Token(JWT)形式の認証トークンを取得し、APIへのすべての呼び出しに含めてください。これらのAPIはOAuth認証フレームワークを使用しています。
!注また、Experience Edge API用のJSONウェブトークンを作成することもできます。
JSONウェブトークンを作成してください
!注始める前に
特定の環境のオーサリングおよび管理APIについては、環境自動化クライアントを作成します。
組織内の すべての 環境のオーサリングおよび管理APIやデプロイ・REST APIのために、組織自動化クライアントを作成してください。
自動化クライアントを作成すると、クライアントIDとクライアントシークレットが生成されます。JWTを作成する際にはクライアントIDとクライアントシークレットを使用します。
どのタイプの自動化クライアントを作成するかを選ぶ際は、最小権限の原則に従ってください。特定の環境を対象とした自動化クライアントを使い、リークされたクライアントの秘密が他の環境や組織レベルのAPIにアクセスできないようにしましょう。すべての環境にまたがるアクセスが必要な場合や、新しい環境の作成など組織レベルの操作が必要な場合に、組織自動化クライアントを活用してください。
JSONウェブトークン(JWT)を要求するには、JSONまたはURLエンコード形式のいずれかで以下のHTTPリクエストを行います。
POST https://auth.sitecorecloud.io/oauth/token
リクエスト文には以下の必要な属性を記載する必要があります:
属性
種類
概要
価値
聴衆
ストリング
JWTが対象とするAPI群。
grant_type
ストリング
JWTを得るために用いられた方法です。
client_credentials
client_id
ストリング
クライアントID。この値が分からない場合は、まず自動化クライアントを作成しましょう。
あなたのクライアントID。例
...client_secret
ストリング
クライアントの秘密だ。この値が分からない場合は、まず自動化クライアントを作成しましょう。
あなたのクライアントの秘密です。例
...JSON
curl -X POST 'https://auth.sitecorecloud.io/oauth/token' \ -H 'Content-Type: application/json' \ --data-raw '{ "audience": "https://api.sitecorecloud.io", "grant_type": "client_credentials", "client_id": "<YOUR_CLIENT_ID>", "client_secret": "<YOUR_CLIENT_SECRET>" }'
URLエンコード
curl -X POST 'https://auth.sitecorecloud.io/oauth/token' \ -H 'content-type: application/x-www-form-urlencoded' \ --data-urlencode 'audience=https://api.sitecorecloud.io' \ --data-urlencode 'grant_type=client_credentials' \ --data-urlencode 'client_id=<YOUR_CLIENT_ID>' \ --data-urlencode 'client_secret=<YOUR_CLIENT_SECRET>'
以下はその回答例です:
{ "access_token": "eyJhbG...", "scope": "...", "expires_in": 86400, "token_type": "Bearer" }
回答では:
- access_token はJSONのウェブトークンです。JWTを使ってAuthoring and Management GraphQL APIや Deploy REST APIへのリクエストを承認できます。
- scope JWTがアクセスを提供するリソースを定義します。リソースは作成した資格の種類によって異なります。
- expires_in JWTの妥当性を秒単位で定義します。JWTは通常24時間で有効期限が切れますのでご注意ください。その時間が経つとトークンは無効となり、新しいトークンを申請する必要があります。
- token_type はBearerのように作成されるトークンの種類を定義します。
セキュリティ上の考慮事項
Sitecore発行のJWTはRS256で署名されています。JWTを使用する前に、JWTライブラリを使ってSitecoreのJSON Web Key Set(JWKS)URIと比較して検証してください:
https://auth.sitecorecloud.io/.well-known/jwks.json
JWKS URIは署名の検証に使われる公開鍵を提供します。JWTライブラリを設定して、期待される発行者(https://auth.sitecorecloud.io/)とオーディエンス(https://api.sitecorecloud.io)を確認し、期限確認が無効化されていないことを確認してください。どのカードが自動的に検証されているか、図書館のドキュメントを確認してください。自分の認証情報申請から直接取得していないJWTは絶対に使わないでください。