Docs
post https://id.iugu.com/api/auth_methods/totp/new

Confirma e vincula o autenticador TOTP ao usuário autenticado

Segundo passo do cadastro de um autenticador TOTP. Envie o id recebido em GET /api/auth_methods/totp/new junto com o código de 6 dígitos exibido no aplicativo autenticador.

Quando o código é válido, o segredo é gravado no usuário, o registro temporário é descartado e o TOTP passa a valer como segundo fator nos próximos logins. O dono da conta é notificado por e-mail sobre a inclusão do novo fator. Uma pequena tolerância de defasagem de relógio é aceita, então códigos gerados poucos instantes antes continuam válidos.

Só o usuário que gerou o TOTP pendente pode confirmá-lo: um id gerado por outro usuário responde 404, igual a um id inexistente.

Sem ações implementadas definidas

Request

Headers

Authorization

Required

Type: string

Access token no formato Bearer recebido no fluxo de authorization code

Ex: Bearer eyJhbGciOiJIUzI1RiIsInR5cCI6IkpXVCJ9...

Body Required

Content Type: application/json

id

Required

String

O `id` retornado por GET /api/auth_methods/totp/new

Ex: 0f7c6b3e-5f5f-4a19-9d59-9f2c7d0a1b44

code

Required

String ^\d{6}$

Código de 6 dígitos exibido no aplicativo autenticador

Ex: 492013

Example
1
2
3
4
{
  "id": "0f7c6b3e-5f5f-4a19-9d59-9f2c7d0a1b44",
  "code": "492013"
}

Response

200

Código validado. O TOTP foi vinculado ao usuário.

Example
1
"<SCHEMA>"

400

Request foi mal formado: `id` ou `code` não foram enviados.

error
String

Descrição do parâmetro ausente

Ex: param is missing or the value is empty: code

Example
1
2
3
{
  "error": "param is missing or the value is empty: code"
}

401

O token é inválido/expirado, não representa um usuário ou o código informado não confere com o segredo gerado. O TOTP pendente **não** é descartado quando o código está errado: corrija o código e repita a chamada com o mesmo `id`, enquanto o `ttl` não expirar.

Example
1
"<SCHEMA>"

404

O `id` informado não corresponde a nenhum TOTP pendente do usuário autenticado — ele expirou, já foi confirmado, ou pertence a outro usuário.

Example
1
"<SCHEMA>"

409

O usuário já possui um TOTP cadastrado.

error
String

Descrição do erro, traduzida conforme o idioma da requisição

Example
1
2
3
{
  "error": "<ERROR>"
}