Configure how users authenticate through the Para Modal, including OAuth providers, email/phone options, and layout customization.
OAuth Methods
paraModalConfig={{
oAuthMethods: ["GOOGLE", "TWITTER", "DISCORD", "APPLE"]
}}
Available OAuth providers:
GOOGLE - Google OAuth
TWITTER - Twitter/X OAuth
APPLE - Apple OAuth
DISCORD - Discord OAuth
FACEBOOK - Facebook OAuth
FARCASTER - Farcaster OAuth
TELEGRAM - Telegram OAuth
Email and Phone Login
paraModalConfig={{
disableEmailLogin: false,
disablePhoneLogin: true, // Only allow email and OAuth
oAuthMethods: ["GOOGLE", "TWITTER"]
}}
Default Authentication Identifier
paraModalConfig={{
defaultAuthIdentifier: "user@example.com" // or "+15555555555"
}}
Phone numbers should be in international format: +15555555555
Authentication Layout
paraModalConfig={{
authLayout: ["AUTH:CONDENSED", "EXTERNAL:FULL"]
}}
Available layout options:
AUTH:FULL - Full authentication component
AUTH:CONDENSED - Condensed authentication component
EXTERNAL:FULL - Full external wallet component
EXTERNAL:CONDENSED - Condensed external wallet component
Use our to visualize different layout configurations before implementing them.
Guest Mode
paraModalConfig={{
isGuestModeEnabled: true
}}
Guest mode allows users to interact with your application without completing full authentication. Users receive provisional wallets that can later be upgraded to full accounts.
Complete Authentication Example
<ParaProvider
paraClientConfig={{
apiKey: process.env.REACT_APP_PARA_API_KEY || "",
}}
config={{
appName: "Your App Name"
}}
paraModalConfig={{
// OAuth providers
oAuthMethods: ["GOOGLE", "TWITTER", "DISCORD"],
// Email/phone configuration
disablePhoneLogin: false,
disableEmailLogin: false,
defaultAuthIdentifier: "user@example.com",
// Layout
authLayout: ["AUTH:FULL", "EXTERNAL:CONDENSED"],
// Guest mode
isGuestModeEnabled: false
}}
>
{children}
</ParaProvider>