1. Sitecore.Services.クライアント

ODataアイテム サービスのAPIキー

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

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

各要求で有効なAPIキーをODataアイテム サービスに渡す必要があります。そうしないと、要求は失敗します。

APIキーは、masterデータベースに作成する項目のIDです。長いIDと短いIDはどちらもAPIキーの有効な形式です。例えば:

12239A2A-D323-4236-8CA7-0D01C1A17AC6

12239A2AD32342368CA70D01C1A17AC6

APIキー項目は、sitecore\templates\System\Services\API Keyテンプレートを使用してmaster\sitecore\system\Settings\Services\API Keysフォルダに作成します。作成したアイテムを公開する必要があります。

API Keyテンプレートには、次の3つのフィールドがあります。

形容

Allowedコントローラー

APIキーの使用を許可するコントローラーのセミコロン区切りの一覧。ワイルドカード文字 "*" を使用して、すべてのコントローラーを許可できます。

例えば: CustomService.Controllers.ApiKeyAttributeController

CORSの起源

許可されたオリジンのセミコロン区切りのリスト。

例: http://sdn1.samplesite.com; http://cdn2.samplesite.com;http://anothersite.com

メモ

SitecoreがAzure Web Appsで実行されている場合、CORSオリジンはSitecoreまたはAzureで排他的に管理できます。Azureの設定は常にアプリケーション (Sitecore) からの設定を上書きするため、CORSの管理に両方を使用することはできません。SitecoreからCORSを管理するには: AzureポータルからすべてのCORS設定を削除します。次に、CORS Origins フィールドを使用してCORSドメインを追加します。AzureポータルからCORSを管理するには: ポータルのCORS構成に必要なすべてのドメインを追加します。

偽装ユーザー

匿名ユーザーは、このユーザーとして偽装されます。

例: sitecore\User

API KeyImpersonation Userを指定しない場合は、Sitecore.Services.AnonymousUser構成設定で指定された値が使用されます。

アイテムにさらにフィールドを追加できます。このデータは、CustomDataプロパティでキーと値のDictionaryオブジェクトとして使用できます。

手記

OData Item API Keyテンプレートは、ODATAアイテムサービス用のAPI Keyテンプレートの拡張バージョンです。OData Item APIキーのテンプレートはAPI Keyテンプレートから継承され、OData Item Serviceで使用される2つのフィールド (DatabaseSearch Filter Field) が導入されています。これらのフィールドの値は、CustomDataプロパティでキーと値のDictionaryオブジェクトとして使用できます。このテンプレートは、masterデータベース (sitecore\templates\System\Services\OData Item API Key) にあります。

このトピックでは、次の内容について説明します。

APIキーの使用

APIキー項目の (長いまたは短い) IDをリクエストで、クエリパラメータまたはヘッダーで渡します。

クエリパラメータでのAPIキーの受け渡し

APIキー項目の長いIDを使用する場合:

/sitecore/api/ssc/aggregate/content/Items('{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}')?sc_apikey=26192A5F-9530-4D8D-AB0A-0A608F99B060

APIキー項目の短いIDを使用する場合:

/sitecore/api/ssc/aggregate/content/Items('{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}')?sc_apikey=26192A5F95304D8DAB0A0A608F99B060

ヘッダーでAPIキーを渡す

APIキー項目の長いIDを使用する場合:

  • 関連URL: /sitecore/api/ssc/aggregate/content/Items('{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}')

  • Header_key: sc_apikey

  • Header_value: 26192A5F-9530-4D8D-AB0A-0A608F99B060

RequiredApiKey クラス属性

コントローラーでRequiredApiKey属性を使用して、APIキーがリクエストURLまたはヘッダーで使用できることを確認できます。

Sitecore.Services.ClientはAPIキーを検証した後、この特定のコントローラーがAPIキー項目のAllowedControllersプロパティに記載されているかどうかも確認します。そうでない場合は失敗し、不正な要求エラー (HTTPステータス コード400) がスローされます。

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