@malvo/react-native-connect,
que embute o widget hospedado do Malvo Connect ({baseUrl}/connect?token=...)
numa react-native-webview.
O pacote usa módulos nativos (
react-native-webview), por isso não roda no
Expo Go. É necessário um dev client ou um build nativo (EAS Build /
prebuild) para testá-lo e publicá-lo.https://api.malvo.io. O widget e
o dashboard ficam em https://malvo.io. Não há iniciação de pagamento (ITP).
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). O clientId/clientSecret ficam só no servidor e nunca vão para o
app.
Instalação
Uso
RenderizeMalvoConnect dentro de um <Modal>, igual ao React Native puro:
Open Finance / OAuth (deep link)
Por padrão o consentimento roda dentro da WebView e retoma automaticamente. Para instituições que recusam WebViews embarcadas, configureoauthRedirectUri com o
deep link completo.
No Expo, o scheme do app é declarado no app.json e o prebuild gera os arquivos
nativos correspondentes (CFBundleURLTypes no iOS, intent-filter no Android):
app.json
1
Defina o scheme no app.json
Use
expo.scheme (ex.: malvo). O prebuild registra o scheme nativamente.2
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.3
Defina oauthRedirectUri no componente
Passe
oauthRedirectUri="malvo://oauth-callback" ao MalvoConnect.malvoFlowId reservado,
adicionado pelo backend, corresponda ao connectTokenId atual. Só então recarrega
a rota autenticada /connect?token=...&resumeItemId=..., sem encaminhar bearer, code bancário
ou malvoFlowId pela bridge. Após recriar o processo, seu app precisa restaurar com segurança o
mesmo Connect Token ainda válido; o SDK não persiste o token. Eventos nativos ainda exigem o
nonce separado do fluxo (malvoBridgeNonce/claim bridgeNonce). Não adicione parâmetros
reservados manualmente.
Props
string
required
O Connect Token de 30 minutos gerado pelo seu backend. Única prop obrigatória.
string
default:"https://malvo.io"
Origem que serve o widget hospedado.
boolean
Exibe conectores de sandbox (use
__DEV__).string
URI completo (ex.:
malvo://oauth-callback) para o retorno do OAuth via
navegador externo. O scheme deve casar com expo.scheme do app.json.string
Compatibilidade legada baseada somente no scheme. Não use em novas integrações.
Próximos passos
- React Native — detalhes de props e callbacks.
- Connect Widget — opções completas do widget.
- Webhooks — a fonte da verdade para persistir conexões.