認証と認可
カスタム API は、カスタムスコープを 1 つだけ含むセキュリティスキームによって保護する必要があります。カスタム API にアクセスするには、クライアントは必要なスコープのトークンを取得する必要があります。
エンドポイントを保護し、エンドポイントに許可されたリクエストを行うには、次の手順を実行します。
- エンドポイントのセキュリティスキームとカスタムスコープを選択します。
- API クライアントを更新して、トークンにカスタムスコープを含めます。
エンドポイントは、API コントラクトのセキュリティスキームに関連付けられている必要があります。
ShopperToken
: Shopper API とストアフロントのユースケース向け。Shopper Login and API Access を使用してトークンを取得します。AmOAuth2
: バックオフィスアプリで使用する Admin API 向け。Account Manager を使用してトークンを取得します。
アソシエーションは操作ごとまたはグローバルのいずれかで、操作スキームが優先されます。スキームは、システム API で使用されるものと同じです。
スキームでは、カスタムスコープを 1 つだけ設定する必要があります。
コントラクトで使用されるスキームは、次のように components
セクションで定義する必要があります。
カスタムスコープは、次の要件を満たしている必要があります。
- 名前は
c_
で始まる必要があります。 - 名前には、英数字、ピリオド、ハイフン、アンダースコア以外の文字を含めることはできません。
- 名前は 25 文字以下にする必要があります。
正しいスキームまたはスコープの割り当てがないエンドポイントは登録されません。
登録エラーを確認するには、Log Center で CustomApiRegistry
を含むカテゴリのメッセージを検索します。
ShopperLogin
のスコープは、SLAS Admin UI でクライアントに割り当てることができます。以下に例を示します。
SLAS トークンを取得するには、Shopper Login の概要の手順に従います。
AmOAuth2
のカスタムスコープは、Account Manager でクライアントに割り当てることができます。以下に例を示します。
Account Manager トークンを取得するには、Admin API の認可のガイドの手順に従います。
認可されていないリクエストは 401 Unauthorized
レスポンスを受け取ります。
エンドポイントの登録では、セキュリティスキームの完全な定義は必要ありませんが、ドキュメント、テスト、コードスタブ、およびモックリクエストを作成できる完全で有効なスキームがあると便利です。次のコードは、完全な例を示しています。