oauthRedirectUri.
Regras do oauthRedirectUri
Exemplos válidos:
https://seu.app/oauth/callbackmeuapp://oauth/callback
oauthRedirectUri sempre é autorizado server-side, em um de dois lugares:
- no objeto
optionsdoPOST /connect_token, ou - diretamente no
POST /items, quando você cria o Item server-side.
Prioridade de resolução
Se ooauthRedirectUri estiver definido tanto no nível do connect token quanto no nível
de criação do Item, o valor do Item vence (o mais específico sobrescreve o mais genérico).
Ao concluir, a Malvo preserva a query string já existente e acrescenta:
malvoFlowId, itemId, status e message são nomes reservados: não os inclua na query do
oauthRedirectUri. O backend rejeita os três campos de resultado e controla malvoFlowId.
Esse identificador acompanha qualquer callback criado por Connect Token; nos SDKs React Native
e Flutter, o valor é conferido automaticamente com o token antes de retomar o WebView e removido
antes de carregar a rota interna de continuação.
Se você não informar oauthRedirectUri, o callback retorna à página de finalização hospedada do
Connect Widget.
Comportamento por plataforma
- Mobile / WebView / app nativo
Chamada de exemplo (connect token)
Alternativa server-side (sem widget)
Você pode pular o widget por completo. NoPOST /items com X-API-KEY, o payload aceita
oauthRedirectUri, e a resposta inclui a URL efêmera em connector.oauthUrl. Redirecione o
usuário uma única vez e use o estado do Item e os webhooks da Malvo para
saber quando a coleta terminou.
connectorId acima é apenas ilustrativo. Obtenha o valor atual por GET /connectors. Para
Open Finance Brasil, preencha em parameters os campos declarados por connector.credentials;
no fluxo internacional, parameters normalmente é {}. Quando o ASPSP publicar mais de um método
de autenticação, o connector declara um select chamado authMethod; envie exatamente uma das
opções anunciadas. Essa escolha não é senha
bancária: a interface da Enable continua coletando diretamente as credenciais do usuário.
Recomenda-se um clientUserId estável para correlação e avoidDuplicates.
Atualização e reconsentimento
Renove sempre no mesmo Item:- Crie um update token com
POST /connect_token, passando oitemIdexistente e ooauthRedirectUriemoptions. - Abra o widget com
updateItemigual aoitemIddo token; ele mantém o mesmo conector. - Se preferir integração server-side, chame
PATCH /items/{id}. Quando o consentimento estiver morto ou expirado, a resposta traz uma nova URL emconnector.oauthUrl; quando ele ainda for válido, a Malvo apenas agenda um refresh. - Após a autorização, reconsulte
GET /items/{id}e os produtos. Não crie outro Item.
itemId ou trocar
de instituição.
Callback do provedor e callback da sua aplicação
São URLs diferentes:- A infraestrutura internacional retorna ao callback fixo da Malvo
(por exemplo,
https://api.malvo.io/connect/oauth/callback). - Depois de validar
statee trocar ocodepor uma sessão, a Malvo redireciona para ooauthRedirectUrido Item, comitemIdestatus.
code upstream e nunca deve receber ou armazenar a sessão da
infraestrutura de conectividade.
No fluxo internacional, a Malvo consulta a sessão e os dados por scheduler/refresh e então emite
os seus webhooks de Item e
transação. Esses webhooks da Malvo continuam sendo a fonte de verdade para a sua integração.
Próximos passos
Visão geral do widget
Parâmetros, callbacks e o diagrama de sequência completo.
Modo de atualização
Renove consentimentos
OUTDATED reabrindo o redirect OAuth.