CustomerAuthenticatedLoginWith2FA
Mutation que valida as credenciais do cliente (identificador + senha) e, somente em caso de sucesso, dispara o envio de uma chave de acesso para o e-mail cadastrado do cliente. Ela não emite CustomerAccessToken: o retorno é apenas o e-mail para o qual a chave foi enviada, que deve ser repassado à mutation CustomerAuthenticateAccessKey para concluir a autenticação.
É usada quando a loja precisa de um login com dois fatores — senha e chave de acesso enviada por e-mail — em um único ponto de entrada, no lugar de CustomerAuthenticatedLogin. Aplicações típicas: lojas com exigência de segurança reforçada ou conformidade que não podem autenticar apenas com senha, e lojas com a configuração LoginSegundoFatorObrigatorio ativa, onde os demais métodos de login passam a ser recusados. A mutation está sempre disponível, independentemente dessa configuração.
Argumentos
| Argumento | Tipo | Obrigatório | Descrição |
|---|---|---|---|
input | CustomerAuthenticateInput! | Sim | Credenciais do cliente. Mesmo input aceito por CustomerAuthenticatedLogin. |
recaptchaToken | String | Condicional | Token do Google reCAPTCHA. Obrigatório quando o grupo Autenticação está ativo na configuração de obrigatoriedade de reCAPTCHA do token do Storefront API utilizado. |
Parâmetros de CustomerAuthenticateInput
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
input | String! | Sim | Identificador do cliente. Aceita e-mail ou CPF/CNPJ, conforme a configuração PermitirLoginCPFeCNPJ da loja. |
password | String! | Sim | Senha do cliente. |
Retorno — TwoFactorLoginChallenge
| Campo | Tipo | Descrição |
|---|---|---|
email | String! | E-mail para o qual a chave de acesso foi enviada. É o e-mail do cadastro do cliente, que pode ser diferente do identificador usado no login quando a loja permite login por CPF/CNPJ. |
Use sempre oCustomerAuthenticateAccessKey. No login por CPF/CNPJ o identificador digitado pelo cliente não é o e-mail de destino da chave.
Exemplo — login por e-mail
mutation {
customerAuthenticatedLoginWith2FA(
input: { input: "[email protected]", password: "senha-do-cliente" }
recaptchaToken: "03AGdBq26..."
) {
email
}
}Response
{
"data": {
"customerAuthenticatedLoginWith2FA": {
"email": "[email protected]"
}
}
}Exemplo — login por CPF
mutation {
customerAuthenticatedLoginWith2FA(
input: { input: "12345678900", password: "senha-do-cliente" }
recaptchaToken: "03AGdBq26..."
) {
email
}
}Response
{
"data": {
"customerAuthenticatedLoginWith2FA": {
"email": "[email protected]"
}
}
}Exemplo — com variáveis
mutation CustomerAuthenticatedLoginWith2FA(
$input: String!
$password: String!
$recaptchaToken: String
) {
customerAuthenticatedLoginWith2FA(
input: { input: $input, password: $password }
recaptchaToken: $recaptchaToken
) {
email
}
}{
"input": "[email protected]",
"password": "senha-do-cliente",
"recaptchaToken": "03AGdBq26..."
}SDK TypeScript
Disponível na versão full do SDK a partir da v1.2.0.
const { data } = await sdk.customer.authenticateWith2FA(
input, // e-mail, CPF ou CNPJ
password, // senha
recaptchaToken // opcional
);
// data.email → e-mail de destino da chave de acessoErros
| Código | Mensagem | Situação |
|---|---|---|
LOG100 | Usuário ou senha inválidos | Senha incorreta ou identificador inexistente. Os dois casos retornam o mesmo erro, sem distinção, e em nenhum deles a chave de acesso é enviada. |
LOG156 | Este tipo de login não está disponível para esta loja | Retornado pelas demais mutations de login quando a configuração LoginSegundoFatorObrigatorio está ativa. Não é retornado por esta mutation. |
| — | Erro de reCAPTCHA obrigatório | recaptchaToken ausente ou inválido enquanto o grupo Autenticação está ativo para o token utilizado. A senha não é validada. |
Requisitos para funcionar
- O tipo de e-mail
LoginChaveAcessoprecisa estar configurado e ativo na loja, pois é ele que entrega a chave de acesso ao cliente.- O tema precisa implementar os dois passos (senha e, em seguida, chave de acesso). Ligar a configuração
LoginSegundoFatorObrigatoriosem essa implementação recusa todos os outros métodos de login da loja.
Updated about 11 hours ago

