Autenticação
Regenerar códigos de recuperação
Gera um novo conjunto de códigos de recuperação e invalida os anteriores.
Sessão do painel
Sessão + CSRF
Exemplo de requisição
curl -X POST "https://seu-dominio/auth/2fa/recovery-codes" \
-H "Cookie: vertice_session=..." \
-H "x-csrf-token: ..." \
-H "content-type: application/json" \
-d '{"password":"..."}'
const response = await fetch('https://seu-dominio/auth/2fa/recovery-codes', {
method: 'POST',
headers: {
credentials: 'include',
'x-csrf-token': '<csrf-token>',
'content-type': 'application/json',
},
body: JSON.stringify({
"password": "..."
}),
});
const payload = await response.json();
console.log(payload);
Entenda
Conceituação
Gera um novo conjunto de códigos de recuperação e invalida os anteriores. Exige a senha atual e o 2FA ativo.
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.
Toda escrita por sessão exige o header x-csrf-token correspondente ao cookie vertice_csrf.
Corpo JSON. Os campos abaixo são exemplos; campos marcados como obrigatórios precisam ser enviados.
Contrato
Atributos
Header
Cookie
string
obrigatório
Cookie vertice_session emitido no login.
x-csrf-token
string
obrigatório
Token CSRF do cookie vertice_csrf, exigido em métodos de escrita.
content-type
string
obrigatório
application/json.
Body
password
string
obrigatório
Senha da conta. Mínimo definido pela política do servidor.
Payload
Request Body
{
"password": "..."
}
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.
401
Credencial ausente, inválida ou sessão expirada.
403
Papel insuficiente ou workspace suspenso.