/** * @type ClientRequest: Used to create and update a SLAS Client * * @property name: Client Name * - **Max Length:** 100 * * @property clientId: SLAS client id. Must match the query parameter. * - **Max Length:** 100 * * @property secret: SLAS client secret. On create if left blank then a secret will be generated. * - **Max Length:** 256 * * @property scopes: Merchant scopes. These scopes allows different permissions in SLAS and B2C commerce. Shopper Custom Objects additionally provides a way to do granular scoping besides the standard `sfcc.shopper-custom-objects` like `sfcc.shopper-custom-objects.xyz` SLAS is capable of handling a maximum of 20 Custom Object scopes.\" * * @property redirectUri: Array of SLAS redirect URLs. Include protocol and domain name in each URL. Wildcards supported. * * @property callbackUri: Array of SLAS callback URLs that will be used for passworless login and password reset when mode=callback. Include protocol and domain name in each URL. Wildcards are NOT supported. * * @property channels: Client Channels * * @property isPrivateClient: Private or Public Client. If left blank the client will default to private. * * @property loginEpRestrict: When enabling (true) this will restrict all calls to the `\\login` endpoint for the Client Id. When calling the `\\login` endpoint and `loginEpRestrict` is enabled a HTTP Status code of 403 will be returned. * * @property isSixDigitOtp: If this attribute is set to true in the request for the clientId, a 6-digit OTP is generated during PasswordlessLogin, PasswordReset, and WebAuthn Authorization. If set to false or unspecified, an 8-digit OTP is generated by default for the aforementioned calls. * * @property strictClientAuth: When enabled, requests from this client to `/oauth2/login` and `/oauth2/authorize` are rejected with a 401 if the `x-slas-client-auth` header is missing. The `strictClientAuth` attribute applies only to private clients. The \'x-slas-client-auth\' header is a Base64-encoded string of client credentials. The string is composed of a client ID and client secret, separated by a colon (`:`). For example, `clientId:clientSecret`. Don\'t add the string `\"Basic\"`. * */ export type ClientRequest = { name: string; clientId: string; secret: string; scopes: Array; redirectUri: Array; callbackUri?: Array; channels: Array; isPrivateClient: boolean; loginEpRestrict?: boolean; isSixDigitOtp?: boolean; strictClientAuth?: boolean; } & { [key: string]: any; };