Autenticação
Trocar desafio + código por sessão
Troca o desafio emitido pelo login por uma sessão válida.
Público
Sem autenticação
Exemplo de requisição
curl -X POST "https://seu-dominio/auth/2fa/verify" \
-H "content-type: application/json" \
-d '{"challengeToken":"...","code":"123456"}'
const response = await fetch('https://seu-dominio/auth/2fa/verify', {
method: 'POST',
headers: {
'content-type': 'application/json',
},
body: JSON.stringify({
"challengeToken": "...",
"code": "123456"
}),
});
const payload = await response.json();
console.log(payload);
Entenda
Conceituação
Troca o desafio emitido pelo login por uma sessão válida. Aceita o código TOTP atual ou um código de recuperação ainda não utilizado.
O desafio de login expira em 5 minutos e aceita no máximo 5 tentativas. Códigos de recuperação são de uso único.
Corpo JSON. Os campos abaixo são exemplos; campos marcados como obrigatórios precisam ser enviados.
Contrato
Atributos
Header
content-type
string
obrigatório
application/json.
Body
challengeToken
string
obrigatório
Token do desafio retornado pelo login com 2FA.
code
string
obrigatório
Código de convite, TOTP ou verificação conforme o endpoint.
Payload
Request Body
{
"challengeToken": "...",
"code": "123456"
}
Contrato
200
Resposta
{
"data": {
"ok": true
}
}
Respostas de sucesso são envelopadas em data.
Erros comuns
400
Corpo, query ou parâmetro inválido. A resposta traz error.code e error.message.