デフォルトの 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 Admin UI または SLAS Admin 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 Admin ユーザーインターフェイス (UI) を使用してデフォルト IDP を構成するには、次のようにします。
- Idps タブに移動します。
- Add Idp (Idp の追加) を選択します。
- Idp Name (Idp 名) フィールドを選択し、ドロップダウンメニューから
default
を選択します。 - 該当するすべての情報を追加します。Default IDP Claim Map (デフォルトの IDP クレームマップ) フィールドに、前のセクションで説明した
oidcClaimMapper
キーを追加します。 - 構成情報を保存します。
サードパーティの IDP が Open ID Connect Discovery プロトコルをサポートしていない場合は、SLAS Admin API の registerIdentityProvider エンドポイントを使用してデフォルトの IDP を構成できます。以下に例を示します。
IDP が Open ID Connect Discovery プロトコルをサポートしている場合、デフォルトの IDP を構成する最も簡単な方法は、ID プロバイダーの .../well-known/openid-configuration
エンドポイントを使用することです。その後、SLAS はデフォルトの IDP を自動的に構成できます。
自動化されたデフォルト IDP 構成に必要な次のプロパティを指定します。
wellKnownUrl
: IDP の Open ID Connect Discovery エンドポイントの URL。useWellKnown
: ブール値をtrue
に設定すると、SLAS が Open ID Connect Discovery エンドポイントを使用してデフォルトの IDP を自動的に構成しようとすることを示します。
以下に例を示します。
成功したサードパーティの IDP レスポンスには、"claims_parameter_supported": true
と SLAS 構成の OIDC クレームマッピングが含まれます。claims_parameter_supported
が返されない場合、SLAS はデフォルトのマッピングを使用します。UserInfo の IDP トークンクレームは、claims-supported
セクションからの /.well-known/openid-configuration/
レスポンスで確認できます。
その後、SLAS は wellKnownUrl
を構成に使用し、成功した場合は、次の例のような情報を返します。
SLAS は IDP レスポンスを受け取り、oidcClaimMapper
情報を適用します。次の場合、認証は失敗し、400 レスポンスコードが返されます。
- 必須のマッピングパラメーターが欠落している場合。
- 必須のマッピングフィールドまたはマッピング値が無効な場合 (たとえば、無効な URL など)。
- 1 つ以上の対応するクレームが IDP トークンレスポンスに見つからない場合。
エラーが発生した場合は、oidcClaimMapper
情報にエラーがないか確認します。マッピングのすべての必須フィールドに有効な値が含まれていることを確認します。