flutter_malvo_connect
embute o widget hospedado do Malvo Connect ({baseUrl}/connect?token=...) numa
view webview_flutter e converte os
eventos postMessage do widget em callbacks Dart.
A conectividade fala com um único host de API,
https://api.malvo.io. O widget
e o dashboard ficam em https://malvo.io. Não há iniciação de pagamento (ITP)
— o widget só conduz consentimentos de agregação de dados (Items).Pré-requisitos
O único dado obrigatório é um Connect Token gerado pelo seu backend (POST /auth → apiKey → POST /connect_token → accessToken, TTL de 30
minutos). Nunca embarque clientId/clientSecret no app — eles ficam só no
servidor.
Instalação
Adicione a dependência aopubspec.yaml:
webview_flutter:
no Android exige minSdkVersion 19+; no iOS não há configuração extra
obrigatória.
Uso
O widgetMalvoConnect é um Widget que você coloca dentro de um Scaffold:
Fluxo de atualização (update item)
Para reautenticar um item existente, gere um update token comitemId no corpo
do POST /connect_token e passe o mesmo id em updateItem:
Open Finance / OAuth
Por padrão o consentimento bancário roda dentro da WebView: o widget redireciona ao banco e retoma via/connect/finish automaticamente — sem setup
extra.
Para instituições que recusam WebViews embarcadas, configure oauthRedirectUri
com o deep link completo:
1
Passe o oauthRedirectUri ao gerar o token
No
POST /connect_token do seu backend, informe
options.oauthRedirectUri casando com o scheme, ex.:
malvo://oauth-callback.2
Defina oauthRedirectUri no widget
Passe
oauthRedirectUri: Uri.parse('malvo://oauth-callback') ao
MalvoConnect.3
Registre o scheme nativamente
Declare no Android (
AndroidManifest.xml, intent-filter) e no iOS
(Info.plist, CFBundleURLTypes).malvoFlowId reservado corresponda ao
connectTokenId do Connect Token atual, antes de retomar a rota autenticada
/connect?token=...&resumeItemId=.... Após recriar o processo, o host precisa restaurar com
segurança o mesmo Connect Token ainda válido; o SDK não o persiste e o callback não carrega
bearer. A bridge exige malvoBridgeNonce igual ao claim separado bridgeNonce e remove o campo
antes dos callbacks. Bearer, códigos bancários e malvoFlowId nunca são encaminhados à WebView.
Não adicione parâmetros reservados manualmente.
Parâmetros
String
required
O Connect Token de 30 minutos gerado pelo seu backend. Único parâmetro
obrigatório.
String
default:"https://malvo.io"
Origem que serve o widget hospedado.
bool
Exibe conectores de sandbox (somente em dev).
String?
Id de um item para o fluxo de atualização. O token deve ter sido gerado com
esse
itemId.Uri?
URI completo do app (ex.:
Uri.parse('malvo://oauth-callback')) para validar
e capturar o retorno do OAuth no navegador do sistema.String?
Compatibilidade legada baseada somente no scheme. Não use em novas integrações.
Callbacks
Próximos passos
- Connect Widget — opções completas do widget.
- Webhooks — a fonte da verdade para persistir conexões.