Implementing OAuth login with Para in React Native and Expo applications
Para supports OAuth authentication in React Native and Expo applications, allowing users to sign in using popular providers like Google, Discord, and Farcaster. This guide explains how to implement OAuth login in your mobile app using Para’s React Native SDK.
The OAuth flow in mobile applications requires handling browser sessions and deeplinks to redirect users back to your app after successful authentication. Once the OAuth flow completes, Para uses the returned email to authenticate users through the standard email-based flow, creating or authenticating with a native passkey.
Before implementing OAuth authentication, ensure you have completed the basic Para setup for your React Native or Expo application.
Install the In-App Browser package to handle OAuth redirects securely:
For iOS, add the following to your Info.plist
to define your URL scheme:
For Android, add your URL scheme to AndroidManifest.xml
:
Both react-native-inappbrowser-reborn
and expo-web-browser
use secure browser implementations that leverage the device’s native browser engine rather than a WebView. This provides stronger security protections, including shared security context with the device’s browser, protection against common web vulnerabilities, and support for modern authentication methods.
OAuth authentication with Para still requires creating a native passkey to secure the user’s wallets. After OAuth completes, Para associates a native passkey with the user’s account. For returning users, the native passkey is used for authentication. The passkey is associated on a per-app basis, making authentication streamlined, and users will only see passkey options they created for your specific app.
Explore our complete example implementations for OAuth authentication with Para:
After integrating Para, you can explore other features and integrations to enhance your Para experience.