ODataアイテム サービスのAPIキー
このページの翻訳は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 KeyでImpersonation Userを指定しない場合は、Sitecore.Services.AnonymousUser構成設定で指定された値が使用されます。 |
アイテムにさらにフィールドを追加できます。このデータは、CustomDataプロパティでキーと値のDictionaryオブジェクトとして使用できます。
OData Item API Keyテンプレートは、ODATAアイテムサービス用のAPI Keyテンプレートの拡張バージョンです。OData Item APIキーのテンプレートはAPI Keyテンプレートから継承され、OData Item Serviceで使用される2つのフィールド (DatabaseとSearch Filter Field) が導入されています。これらのフィールドの値は、CustomDataプロパティでキーと値のDictionaryオブジェクトとして使用できます。このテンプレートは、masterデータベース (sitecore\templates\System\Services\OData Item API Key) にあります。
このトピックでは、次の内容について説明します。
APIキーの使用
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 クラス属性
コントローラーでRequiredApiKey属性を使用して、APIキーがリクエストURLまたはヘッダーで使用できることを確認できます。
Sitecore.Services.ClientはAPIキーを検証した後、この特定のコントローラーがAPIキー項目のAllowedControllersプロパティに記載されているかどうかも確認します。そうでない場合は失敗し、不正な要求エラー (HTTPステータス コード400) がスローされます。