認可およびAPIアクセス
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、Experience Edge APIのさまざまな認証およびアクセスオプションについて説明します。
GraphQL APIへのリクエストを認可する
プレビュー GraphQL APIとデリバリー GraphQL APIにアクセスする方法は3つあります。
-
GraphQL IDE - GraphQL IDE(GraphQL Playground)は、開発中のクエリ探索やテストに推奨されるツールです。これを使うことでレスポンス構造を理解し、フロントエンドコードを効率的にデバッグできます。SitecoreAI Deployで直接生成されたAPIトークンを使って、IDE内でリクエストを承認します。手順の説明については、「 GraphQL IDEの設定」をご覧ください。
-
Front-end app - フロントエンドアプリでは、プレビュー GraphQL APIとデリバリー GraphQL APIの両方に同じエンドポイントを使用し、リクエストの承認にはAPIトークンではなく コンテキストIDを使うことを推奨します。プレビュー GraphQL APIにはプレビューコンテキストID、配信GraphQL APIにはライブコンテキストIDを使います。
現代の開発でこのアプローチを推奨する主な理由は二つあります。第一に、直接APIアクセス 方式よりもセットアップと保守が簡単であること。次に、この方法に従い、コンテキストIDを切り替えてプレビュー GraphQL APIとデリバリー GraphQL APIを切り替えます。エンドポイントやリクエストの他の部分を変更する必要はありません。
!重要コンテキストIDをブラウザに公開するのは避けましょう 。
-
直接APIアクセス - フロントエンド開発に推奨されるアプローチの代替として、ネイティブAPIエンドポイントや認可メソッドを使って直接APIリクエストを行うことができます。この場合、リクエストはGraphQL IDEで使われているのと同じAPIトークンを使って承認します。
プレビュー GraphQL API
プレビュー GraphQL APIにアクセスする3つの方法のURLと認証要件の概要をご紹介します。環境ホスト名、APIトークン、コンテキストIDはSitecoreAI Deployでアクセス可能です。
::::タブズ:::tab{title="GraphQL IDE"}プレビュー GraphQL APIのIDEにアクセスしてください。
https://<YOUR_ENVIRONMENT_HOST_NAME>/sitecore/api/graph/edge/ide/
リクエストを認可するには、すべてのAPIリクエストのヘッダーにプレビューAPIトークンを含めてください:
{ "sc_apikey": "<PREVIEW_API_TOKEN>" }
フロントエンドアプリからプレビュー GraphQL APIへのリクエスト方法を示す例のcURLコールです:
curl -X POST 'https://edge-platform.sitecorecloud.io/v1/content/api/graphql/v1' \ --header 'x-sitecore-contextid: <PREVIEW_CONTEXT_ID>' \ --header 'Content-Type: application/json' \ --data-raw '{<GRAPHQL_QUERY>}'
以下の点に注目してください。
-
フロントエンドアプリでは、プレビュー GraphQLとデリバリー GraphQL APIの両方に同じエンドポイントを使ってリクエストを行ってください。
https://edge-platform.sitecorecloud.io/v1/content/api/graphql/v1
-
リクエストを承認するには、すべてのAPIリクエストのヘッダーにプレビューコンテキストIDを含めてください:
x-sitecore-contextid: <PREVIEW_CONTEXT_ID>
プレビュー GraphQL APIに直接アクセスするための例のcURL呼び出し例は以下の通りです:
curl -X POST 'https://<YOUR_ENVIRONMENT_HOST_NAME>/sitecore/api/graph/edge' \ --header 'sc_apikey: <PREVIEW_API_TOKEN>' \ --header 'Content-Type: application/json' \ --header 'Cookie: shell#lang=en' \ --data-raw '{<GRAPHQL_QUERY>}'
以下の点に注目してください。
-
プレビューに直接アクセスするための基本URL GraphQL API:
https://<YOUR_ENVIRONMENT_HOST_NAME>/sitecore/api/graph/edge
-
プレビュー GraphQL APIをクエリするためのエンドポイント:
POST https://<YOUR_ENVIRONMENT_HOST_NAME>/sitecore/api/graph/edge
-
リクエストを認可するには、すべてのAPIリクエストのヘッダーにプレビューAPIトークンを含めてください:
{ "sc_apikey": "<PREVIEW_API_TOKEN>" }
配達GraphQL API
以下は 、Delivery GraphQL APIにアクセスする3つの方法のURLと承認要件の概要です。APIトークンとコンテキストIDはSitecoreAI Deployでアクセス可能です。
::::タブ:::tab{title="GraphQL IDE"}
以下のURLから配達GraphQL APIのIDEにアクセスしてください:
https://edge.sitecorecloud.io/api/graphql/ide
リクエストを認可するには、すべてのAPIリクエストのヘッダーにDelivery APIトークンを含めてください:
{ "sc_apikey": "<DELIVERY_API_TOKEN>" }
フロントエンドアプリからDelivery GraphQL APIへのリクエストを行う例のcURLコールを紹介します:
curl -X POST 'https://edge-platform.sitecorecloud.io/v1/content/api/graphql/v1' \ --header 'x-sitecore-contextid: <LIVE_CONTEXT_ID>' \ --header 'Content-Type: application/json' \ --data-raw '{<GRAPHQL_QUERY>}'
以下の点に注目してください。
-
フロントエンドアプリでは、プレビュー GraphQLとデリバリー GraphQL APIの両方に同じエンドポイントを使ってリクエストを行ってください。
https://edge-platform.sitecorecloud.io/v1/content/api/graphql/v1
-
リクエストを認可するには、すべてのAPIリクエストのヘッダーにDelivery Context IDを含めることができます:
x-sitecore-contextid: <LIVE_CONTEXT_ID>
以下は、Delivery GraphQL APIに直接アクセスするための例のcURLコールです:
curl -X POST 'https://edge.sitecorecloud.io/api/graphql/v1' \ --header 'sc_apikey: <DELIVERY_API_TOKEN>' \ --header 'Content-Type: application/json' \ --header 'Cookie: shell#lang=en' \ --data-raw '{<GRAPHQL_QUERY>}'
以下の点に注目してください。
-
デリバリー GraphQL API直接アクセスするための基本URLは以下の通りです:
-
Delivery GraphQL APIを問い合わせるエンドポイントは /v1です:
-
リクエストを認可するには、すべてのAPIリクエストのヘッダーにDelivery APIトークンを含めてください:
{ "sc_apikey": "<DELIVERY_API_TOKEN>" }
管理者REST APIとトークンへのリクエストを承認するREST API
管理者REST APIにアクセスするためのcURLコールの例を以下に示します:
curl -X GET 'https://edge.sitecorecloud.io/api/admin/v1/
以下は トークンREST APIにアクセスするためのcURLコールの例です:
curl -X GET 'https://edge.sitecorecloud.io/api/apikey/v1' \ --header 'Authorization: Bearer <JSON_WEB_TOKEN>'
以下の点に注目してください。
-
管理者の基本URL REST API:
-
トークンの基本URLはREST API:
-
管理者REST APIとトークンREST APIの両方がJSONウェブトークン(JWT)を用いたベアラー認証を使用します。APIリクエストを承認するには:
-
SitecoreAI Deployで環境用のエッジ管理クライアントを作成します。これによりクライアントIDとクライアントシークレットが生成されます。
-
JWTはすべてのAPIリクエストのヘッダーに含めてください:
Authorization: Bearer <JSON_WEB_TOKEN>
-
プログラム的にDelivery GraphQL APIトークンを作成します
Delivery GraphQL APIへのリクエストを承認する推奨方法は、フロントエンドアプリ内のコンテキストIDやGraphQL IDEのAPIトークンを使用することです。APIトークンを取得する最も簡単な方法は、環境 の詳細タブにあるSitecoreAI Deployでトークンを生成することです。
あるいは、Deploy REST APIまたはToken REST APIを使って プログラム的にDelivery GraphQL APIトークンを作成することもできます。これらの方法はプレビュー GraphQL APIでは利用できません。
プログラムで生成したAPIトークンは、SitecoreAI Deployで作成するものと同じ方法で使用できます。