Authentication UI for Decentraland at decentraland.org/auth. Handles wallet-based and email-based login, new user avatar setup, OAuth callback flows, and mobile deep-link authentication.
- Wallet Login: Connect via browser wallet extensions (MetaMask, etc.)
- Email Login (OTP): Passwordless email login via one-time-password flow
- Avatar Setup: Guided avatar customization step for new users (
AvatarSetupPage) - OAuth Callback Handling: Processes login callbacks and redirects users back to origin
- Mobile Authentication: Deep-link auth flow for the mobile app (
MobileAuthPage,MobileCallbackPage) - Session Transfer: Transfers existing sessions across contexts
- Invalid Redirection Guard: Detects and rejects malformed redirect targets
- Catalyst / Peer API: fetches profile data during avatar setup
- Single Sign-On Client (
@dcl/single-sign-on-client): manages cross-domain session sharing - Wallet Providers (
decentraland-connect): MetaMask, WalletConnect, and other integrations - Feature Flags Service: controls availability of login methods
- Account management (account site)
- Profile editing after initial setup (profile site)
- Server-side session storage or token issuance
- Node >=20
- npm
npm installCreate a copy of .env.example and name it .env.development:
cp .env.example .env.developmentnpm run startnpm testTest files are located in src/tests/, using the *.test.ts naming convention.
For detailed AI Agent context, see docs/ai-agent-context.md.