17 March 2022
CustomersGraphQL
We introduced the AuthenticationMode that controls whether the
password field is required for a Customer in public beta. The Password authentication mode is the default mode for backwards compatibility that requires to set a password for the Customer. For use cases where Customers are authenticated externally, you can now set the authenticationMode to ExternalAuth to create Customers without a password.Changes:
- [API] Added
authenticationModefield to Customer and CustomerDraft. - [API] Changed
passwordfield to be optional on CustomerDraft whenauthenticationModeis set toExternalAuth. - [API] Removed
passwordfield from Customer whenauthenticationModeis set toExternalAuth. - [API] Added Set AuthenticationMode update action.
- [GraphQL API] Added the following types to the GraphQL schema:
AuthenticationMode,SetCustomerAuthenticationMode. - [GraphQL API] Changed the
Customertype:Customer.passwordfield type changed fromString!toString- Added the
authenticationModefield to theCustomertype.
- [GraphQL API] Changed the
CustomerSignUpDrafttype:CustomerSignUpDraft.passwordinput field type changed fromString!toString- Input field
authenticationModewas added toCustomerSignUpDrafttype
- [GraphQL API] Changed the
CustomerUpdateActiontype:- Input field
setAuthenticationModewas added toCustomerUpdateActiontype
- Input field
- [GraphQL API] Changed the
CustomerSignMeUpDrafttype:CustomerSignMeUpDraft.passwordinput field type changed fromString!toString
The following changes were introduced in terms of GraphQL SDL:
extend type Customer {
authenticationMode: AuthenticationMode
}
extend input CustomerSignUpDraft {
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
authenticationMode: AuthenticationMode
}
extend input CustomerUpdateAction {
setAuthenticationMode: SetCustomerAuthenticationMode
}
"AuthenticationMode values. BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
enum AuthenticationMode {
ExternalAuth
Password
}
input SetCustomerAuthenticationMode {
authMode: AuthenticationMode!
password: String
}