Login Methods
Control which authentication methods are available in the Blux login modal.
The loginMethods option defines which authentication methods are shown in the login modal. The order of the array also determines the display order — so the first item in the list will appear most prominently during onboarding.
Type
loginMethods?: Array<
| 'wallet'
| 'email'
| 'sms'
| 'passkey'
| 'google'
| 'farcaster'
| 'tiktok'
| 'linkedin'
| 'twitch'
| 'kick'
| 'spotify'
| 'instagram'
| 'apple'
| 'discord'
| 'github'
| 'meta'
| 'telegram'
| 'microsoft'
| 'gitlab'
| 'twitter'
| 'steam'
>;Usage
<BluxProvider
config={{
loginMethods: ["wallet", "email", "sms", "passkey"],
}}
>
{children}
</BluxProvider>createConfig({
loginMethods: ["wallet", "email", "sms", "passkey"],
});Passkeys
Add 'passkey' to loginMethods to let users sign in with a passkey — a passwordless credential backed by their device's biometrics (Face ID, Touch ID, Windows Hello) or a hardware security key. There's no seed phrase to manage and nothing to install, which makes it one of the smoothest onboarding paths for users who are new to Stellar.
createConfig({
loginMethods: ["passkey", "wallet", "email"],
});Social login
Blux supports Google, Farcaster, TikTok, LinkedIn, Twitch, Kick, Spotify, Instagram, Apple, Discord, GitHub, Meta, Telegram, Microsoft, GitLab, X, and Steam. Add their provider keys to loginMethods to show them in the modal:
createConfig({
loginMethods: ["google", "farcaster", "github", "email"],
});Social providers must first be enabled for your app in the Blux Dashboard. Each provider you add to loginMethods has to be turned on there for your appId, otherwise it won't appear in the modal. See Socials for setup.
White-label login
loginMethods also authorizes the headless methods used by your own login UI. The core SDK exports loginEmail, loginSms, loginOAuth, loginPasskey, and loginWallet; the React package provides a corresponding hook for each one.
Learn how to build the complete flow in JavaScript or React.
Want to see the login methods in action? Try the live demo →