Pular para o conteúdo principal
Troca o código de autorização, renova o token do usuário final ou emite o token M2M

Autorizações

Authorization
string
header
obrigatório

Chave secreta (unifokal_live_ em produção, unifokal_test_ no sandbox: 64 hex mais CRC-32) no Authorization: Bearer. Só no seu servidor: nunca no browser ou app (o widget monta apenas com o id vs_ da sessão). Não existe chave publishable.

Corpo

Três concessões (RFC 6749): authorization_code (com a chave secreta e o code_verifier do PKCE S256), refresh_token (com a chave secreta) e client_credentials (cliente M2M por client_secret_basic, sem a chave secreta). Aceita application/x-www-form-urlencoded ou JSON.

grant_type
string
obrigatório
Allowed value: "authorization_code"
code
string
obrigatório
Maximum string length: 128
code_verifier
string
obrigatório
Required string length: 43 - 128

Resposta

Tokens emitidos. AuthTokenResponse na troca do código, AuthRefreshResponse na renovação, M2mTokenResponse no client_credentials.

Resposta da troca do código (authorization_code). Sempre Cache-Control: no-store.

access_token
string
obrigatório

JWT de acesso (RFC 9068, typ at+jwt, RS256). Verifique localmente pelo JWKS do emissor.

token_type
string
obrigatório
Allowed value: "Bearer"
expires_in
integer
obrigatório

Segundos de vida do token de acesso.

refresh_token
string
obrigatório

Refresh opaco com rotação: cada renovação devolve um novo; reapresentar um antigo derruba a sessão.

refresh_expires_in
integer
obrigatório

Segundos até o fim da sessão (o menor entre o prazo ocioso e o absoluto).

session_id
string
obrigatório
Pattern: ^ses_[0-9A-HJKMNP-TV-Z]{26}$
amr
string[]
obrigatório

Métodos de autenticação usados (RFC 8176): pwd, otp_email, otp_sms, totp, recovery.

acr
enum<string>
obrigatório
Opções disponíveis:
aal1,
aal2
user
object
obrigatório
verification_id
string | null
obrigatório

A verificação do cadastro com KYC no mesmo flow; null no login.