Sitecore ServicesクライアントAPIキーを作成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

レイアウト サービスGraphQLトラッキングサービス辞書サービスなど、JSSで使用されるサービスは、Sitecore Services Client(SSC)が提供するAPIキーメカニズムを利用しています。SitecoreサービスのクライアントAPIキーを作成し、JSSアプリをSitecoreに接続する際に使用するためにそのItem IDを記録する必要があります。

SitecoreサービスクライアントAPIキーを作成するには:

  1. Sitecoreにログインし、Desktopアプリケーションを開き、coreまたはmasterデータベースを選択します。

    !注Sitecore 9.0では、右下のデータベースアイコンを使って コア データベースに切り替えます。Sitecore 9.1以降では、SitecoreサービスのクライアントAPIキーは マスター データベースに保存されており、これがデフォルトであるため、このステップは不要です。

    Switch the database to master in Sitecore 9.0.
  2. スタートメニューまたはSitecore LaunchpadからContent Editorアプリケーションを開いてください。

  3. コンテンツツリーで /sitecore/system/Settings/Services/API Keysに移動します。

  4. Homeリボンに新しいAPI Keyアイテムを挿入します。アイテム名は参考用です。JSSアプリの名前など、意味のある名前を選びましょう。

  5. APIキーに以下のフィールドを設定します:

    • CORSオリジン:**接続モードを使用している場合、APIはCORSをサポートしている必要があり、開発サーバーホストがデフォルトhttp://localhost:3000、ヘッドレスサービスへのHTTPリクエストを許可しています。ローカル開発では、\*を使ってすべてのオリジンを許可してください。本番環境では、特定のオリジンのみを許可してください。[複数のオリジン](/xp/en/developers/102/sitecore-experience-manager/en/api-keys-for-the-odata-item-service.html)をセミコロンで区切って指定;。

    • 許可されたコントローラー: すべてのコントローラーを許可するためにアスタリスク * を使うことは可能ですが、コントローラーを明示的にホワイトリストに登録するのがベストプラクティスです。追加のコントローラーを使用する場合は、それらもこのリストに追加しなければなりません。例えば:

      Sitecore.LayoutService.Mvc.Controllers.LayoutServiceController; Sitecore.JavaScriptServices.Globalization.Controllers.DictionaryServiceController; Sitecore.Services.GraphQL.Hosting.Mvc.GraphQLController; GraphQL:/api/yourappname

    • なりすましユーザー: 必ず明示的なユーザーを指定します。なりすましユーザーは、JSSアプリのコンテンツSitecoreセキュリティ権限を決定するためにセキュリティコンテキストを用いるSitecoreユーザーのことです。ほとんどのアプリはextranet\anonymousを使用しなければならず、匿名のウェブユーザーと同じセキュリティコンテキストを持ちます。

      !注Authenticated有効なSitecore認証クッキーを持つユーザーは、この設定に関わらず独自のセキュリティコンテキストを受け取ります。この設定は匿名リクエストにのみ適用されます。

      !警告sitecore\adminや他の特権ユーザーをなりすましとして使わないでください。これにより深刻なセキュリティ侵害が起こります。なりすましにはextranet\anonymousまたはアプリ固有の専用ユーザーのみを使用してください。

  6. APIキーの項目を保存します。Sitecore 9.1+でその項目を公開します。

  7. Sitecoreヘッドレスサービスモジュールが動作しているかは、RESTレイアウトサービスの エンドポイントで確認してください <cm_server>/sitecore/api/layout/render?item=/&sc_apikey=<api_item_id>。

    !注api_item_idを提供しない場合、サーバーはエラー HTTP 400 - Bad Requestを返します。

    マルチサイトソリューション用にURLパラメータsc_siteを追加し、編集モードのレイアウトデータを無効にするsc_mode=normal

    リクエストが正しく解決された場合、応答は次のようなJSONデータを返します:

    { "context": { ... }, "route": { "name": "Home", ... } }

  8. アイテムIDをコピーしてください。JSSアプリをSitecoreに接続する際には、このIDを必ず提供してください。

この記事を改善するための提案がある場合は、 お知らせください!