1. JSSアプリケーションの開発

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

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

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

レイアウト サービスGraphQLトラッキング サービスディクショナリ サービスなど、JSSが使用するサービスは、Sitecoreサービス クライアント (SSC) が提供するAPIキー メカニズムを利用します。Sitecoreサービス クライアントAPIキーを作成し、JSSアプリをSitecoreに接続するときに使用するアイテムIDをメモする必要があります。

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

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

    メモ

    Sitecore 9.0では、右下のデータベース アイコンを使用して、coreデータベースに切り替えます。Sitecore 9.1以降では、Sitecoreサービス クライアントAPIキーはデフォルトであるmasterデータベースに保存されるため、この手順は不要です。

    Switch the database to master in Sitecore 9.0.
  2. スタート メニューまたはSitecoreスタート画面から、Content Editorアプリケーションを開きます。

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

  4. Homeリボンに、新しいAPI Key項目を挿入します。アイテムの名前は参照用です。JSSアプリケーションの名前など、わかりやすい名前を選択します。

  5. APIキーに次のフィールドを設定します。

    • CORS Origins:connected modeを使用している場合、開発サーバーホスト (デフォルトではhttp://localhost:3000) がヘッドレスサービスへのHTTPリクエストを実行できるように、APIはCORSをサポートする必要があります。ローカル開発の場合は、* を使用してすべてのオリジンを許可します。本番環境では、特定のオリジンのみを許可します。複数の原点を指定するには、起点をセミコロンで区切;

    • AllowedControllers: アスタリスク * を使用してすべてのコントローラーを許可することもできますが、コントローラーを明示的にホワイトリストに登録することがベストプラクティスです。追加のコントローラーを使用する場合は、このリストに追加する必要があります。例えば:

        Sitecore.LayoutService.Mvc.Controllers.LayoutServiceController; 
        Sitecore.JavaScriptServices.Globalization.Controllers.DictionaryServiceController; 
        Sitecore.Services.GraphQL.Hosting.Mvc.GraphQLController;
        GraphQL:/api/yourappname
    • Impersonation User: 常に明示的なユーザーを指定します。偽装ユーザーは、Sitecoreコンテンツに対するJSSアプリのセキュリティ権限を決定するためにセキュリティ コンテキストが使用されるSitecoreユーザーです。ほとんどのアプリでは、匿名のWebユーザーと同じセキュリティコンテキストを提供するextranet\anonymousを使用する必要があります。

      手記

      Authenticatedユーザー (有効なSitecore認証Cookieを使用) は、この設定に関係なく、独自のセキュリティ コンテキストを受け取ります。この設定は、匿名要求にのみ適用されます。

      警告

      sitecore\adminやその他の特権ユーザーを偽装ユーザーとして使用しないでください。これにより、重大なセキュリティ違反が発生する可能性があります。偽装には、extranet\anonymousまたはアプリ固有の専用ユーザーのみを使用してください。

  6. APIキー項目を保存します。Sitecore 9.1+ で、アイテムを公開します。

  7. Sitecoreヘッドレス サービス モジュールが機能していることを確認するには、<cm_server>/sitecore/api/layout/render?item=/&sc_apikey=<api_item_id>RESTレイアウト サービス エンドポイントにアクセスします。

    手記

    api_item_idを指定しない場合、サーバはエラーを返しますHTTP 400 - Bad Request.

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

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

    {
      "context": {
        ...
      },
      "route": {
        "name": "Home",
        ...
      }
    }
  8. Item IDをコピーします。JSSアプリをSitecoreに接続するときは、このIDを指定する必要があります。

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