É de graça, e sempre será. Nenhum método de autenticação fica atrás de plano
pago aqui — cobrar pelo segundo fator transforma o tier gratuito numa armadilha
e segurança em upsell.
A decisão que vale conhecer
Ele é exigido em todo lugar que emite sessão. Login por senha, magic link, código por e-mail, o link de confirmação e login social param todos no mesmo desafio. Um segundo fator que se contorna clicando em “continuar com o Google” é um checkbox, não um controle — e quem ligou não tem como saber quais portas ele cobre de verdade. Então ele cobre todas.Cadastrando
Duas chamadas, a partir de uma sessão de contato.1
Setup
200
2
Enable
200
Entrando
Por qualquer porta que tenha chegado, um contato com dois fatores recebe um desafio em vez de uma sessão:200
uk_ct_…, expiração e
verified. Esse último campo carrega o que o primeiro fator conquistou — um
magic link e um callback social provam a identidade antes do código ser pedido,
e essa prova viaja no desafio em vez de ser recalculada depois.
Um código de recuperação entra no mesmo campo code. Ele é gasto ao ser usado,
e um aviso vai para a caixa de entrada — alguém usando código reserva merece
ser notado.
Um código errado não consome o desafio; errar seis dígitos é o caso comum.
Ele gasta uma das dez tentativas do desafio, e um desafio que acaba as
tentativas responde invalid_challenge daí em diante, venha o código que vier
— o rate limit conta por endereço, e quem ataca distribui os chutes entre
endereços, então é o orçamento que de fato limita adivinhar um número de seis
dígitos. Dez está bem acima do que uma pessoa erra digitando; quem chega lá
começa um novo login.
Desligando
POST /v1/contact/two-factor/recovery-codes troca o conjunto inteiro do mesmo
jeito. Todo código anterior para de funcionar — um conjunto parcialmente
conhecido é pior que um novo.
Só em modo hosted
Cadastrar num ambiente federado responde409 environment_not_hosted. Lá
quem autentica é o seu servidor e o boot afirma o resultado: não existe
momento que pudéssemos interromper para pedir um código. Dois fatores é nosso
para exigir só onde o login é nosso para executar — se o seu produto tem MFA
próprio, é lá que ele mora.