/** * @type IdentityProvider: Identity provider * * @property name: Identity Provider Name * - **Max Length:** 200 * * @property authUrl: IDP authorize URL * - **Max Length:** 256 * * @property tokenUrl: IDP token URL * - **Max Length:** 256 * * @property tokenInfoUrl: IDP token info URL * - **Max Length:** 256 * * @property userInfoUrl: IDP user info URL * - **Max Length:** 256 * * @property redirectUrl: Redirect URL to go to after IDP flow is complete. This URL must be registered with the IDP. * - **Max Length:** 256 * * @property wellKnownUrl: IDP URL to get OIDC configuration. * - **Max Length:** 256 * * @property clientId: Client Id of the third party IDP. * - **Max Length:** 128 * * @property clientSecret: Client Secret of the third party IDP. For Apple copy the contents from the .p8 file that was downloaded from Apple between -*----BEGIN PRIVATE KEY-----* and -*---END PRIVATE KEY-----* markers. * - **Max Length:** 512 * * @property preferenceValue: Set the IDP configuration as the Preferred SLAS IDP. Default value is `false`. * * @property isClientCredsBody: Default is to place the client credentials in a basic authorization header for the call to the IDP. If true, the client credentials are placed in the POST body to the IDP. * * @property useWellKnown: If set to `true`, SLAS uses the `wellKnowUrl` value to populate the `authUrl`, `tokenUrl`, `userInfoUrl`, and `scopes` values from the identity provider. Default value is `false`. * * @property scopes: IDP Scopes * * @property teamId: Apple Team Id. Used primarily for Sign with Apple in generating the client secret. * - **Max Length:** 32 * * @property keyId: Apple key id. This is the Key ID that was obtained from Apple when the the private key for client authentication was created. Used primarily for Sign with Apple in generating the client secret. * - **Max Length:** 32 * * @property loginMergeClaims: List of user info claims that can be used as identifiers to look up and merge with an existing B2C Commerce profile for a registered shopper or an existing B2C Commerce profile created via federated login with an external Identity Provider with the same merge claim as this one. If multiple matching B2C Commerce shopper (customer) profiles are found, the external profile is merged with the most recently created shopper (customer) profile. Refer to the Merge Shopper Profiles user guide for more details. Note: When configuring an Apple IDP, \'email\' and \'sub\' are the only supported merge claims. * * @property oidcClaimMapper: Mapping from the identity provider’s token claims for SLAS to get user information values when the user successfully authenticates. The values in this array should be setup using the following `key=value` pair pattern. The key part is the SLAS key with the value part being the OIDC claim key. * */ export type IdentityProvider = { name: IdentityProviderNameEnum; authUrl: string; tokenUrl: string; tokenInfoUrl: string; userInfoUrl: string; redirectUrl: string; wellKnownUrl: string; clientId: string; clientSecret: string; preferenceValue?: boolean; isClientCredsBody: boolean; useWellKnown?: boolean; scopes: Array; teamId?: string; keyId?: string; loginMergeClaims?: Array; oidcClaimMapper?: Array; } & { [key: string]: any; }; export type IdentityProviderNameEnum = 'adfs' | 'apple' | 'auth0' | 'azure' | 'cognito' | 'facebook' | 'forgerock' | 'gigya' | 'gigya_social' | 'google' | 'okta' | 'ping' | 'salesforce';