デフォルトの IDP の構成
サードパーティ ID プロバイダー (IDP) で Shopper API Access and Login (SLAS) を使用しており、SLAS でサポートされていない IDP を使用したい場合は、SLAS のデフォルト IDP 機能を使用して IDP と通信できます。
このガイドでは、SLAS Admin API または UI を使用して、SLAS でデフォルト IDP を構成するために必要な手順について説明します。
IDP に応じて、構成するには 2 つの方法があります。
- IDP が OpenID Connect Discovery (OIDC) プロトコルをサポートしていない場合は、SLAS 管理 UI または SLAS 管理 API のregisterIdentityProviderエンドポイントを使用します。
- IDP が OpenID Connect Discoveryプロトコルをサポートしている場合は、SLAS 自動化を使用します。
SLAS は、OpenID Connect をサポートする IDP のみをサポートします。SLAS は SAML をサポートしていません。
既定の IDP を構成するには、サポートされている IDP と同じ SLAS プロパティが必要です。
name
、clientId
、clientSecret
、IDP URL、範囲、およびpreferenceValue
は、すべてクライアント構成値 SLAS IDP 必須です。詳細については、「ID プロバイダーの登録」を参照してください。
ただし、次の追加要件があります。
oidcClaimMapper
プロパティを指定します。これは、IDP のトークン要求を SLAS の必要な IDP キーにマップして、ユーザーが正常に認証されたときにユーザー情報を取得するために使用されます。このoidcClaimMapper
プロパティは文字列のリストであり、各文字列の形式$KEY=$VAL
は で、$KEY
は必須の SLAS IDP キー、$VAL
は対応する IDP トークン要求の名前です。たとえば、accessToken=access_token
.accessToken
は SLAS キーでaccess_token
、は IDP 要求です。- 次の各キーを該当する IDP 値にマップします。
accessToken
: アクセストークンの値。accessTokenTTL
: アクセストークンの TTL (有効期限)。refreshToken
: リフレッシュトークンの値。idToken
: ID トークンの値。subject
: 件名。買い物客の一意の識別子です。userId
: これも件名です。買い物客の一意の識別子です。email
: 買い物客の E メール。familyName
: 買い物客の姓。givenName
: 買い物客の名。name
: 買い物客の氏名。
- IDP
/token
と/userinfo
エンドポイントの ID プロバイダーから返される値が正しいことを確認します。
次の例は、SLAS IDP 構成の開始点として使用できます。
SLAS 管理者ユーザー インターフェイス (UI) を使用してデフォルト IDP を構成するには:
- [Idps ** ] **タブに移動します。
- [Idp **の追加] を選択します**。
- [Idp 名** ] **フィールドを選択し、ドロップダウン メニューから選択します
default
。 - 該当するすべての情報を追加します。** [Default IDP Claim Map ** ] フィールドに、前のセクションで説明したキーを追加します
oidcClaimMapper
。 - 構成情報を保存します。
サードパーティの IDP が Open ID Connect Discoveryプロトコルをサポートしていない場合は、SLAS 管理 API のregisterIdentityProvider エンドポイントを使用して既定の IDP を構成できます。例:
IDP が Open ID Connect Discoveryプロトコルをサポートしている場合、既定の IDP を構成する最も簡単な方法は、ID プロバイダー.../well-known/openid-configuration
エンドポイントを使用することです。その後、SLAS は既定の IDP を自動的に構成できます。
自動化されたデフォルト IDP 構成に必要な次のプロパティを指定します。
wellKnownUrl
の Open ID Connect Discovery エンドポイントの URL。 useWellKnown
:に設定するtrue
と、SLAS が Open ID Connect Discovery エンドポイントを使用して既定の IDP を自動的に構成しようとすることを示します。
例:
成功したサード パーティの IDP 応答には、SLAS 構成の OIDC 要求マッピングが含まれます"claims_parameter_supported": true
。claims_parameter_supported
が返されない場合、SLAS は既定のマッピングを使用します。UserInfo の IDP トークン要求は、セクションからのclaims-supported
応答で/.well-known/openid-configuration/
確認できます。
その後、SLAS はwellKnownUrl
for 構成を使用し、成功した場合は次の例のような情報を返します。
SLAS は IDP 応答を受け取り、情報を適用しoidcClaimMapper
ます。次の場合、認証は失敗し、400 応答コードが返されます。
- 必須のマッピング・パラメーターが欠落しています。
- 必須のマッピングフィールドまたはマッピング値が無効です。たとえば、無効な URL などです。
- 1 つ以上の対応する要求が IDP トークン応答に見つかりません。
エラーが発生した場合は、情報oidcClaimMapper
にエラーがないか確認します。マッピングに、すべての必須フィールドに有効な値が含まれていることを確認します。