Email and Password
LaunchFast provides email and password authentication using web standards and established libraries. Passwords are hashed with bcrypt. Email verification is required before account creation.
Signup flow
- User submits their email address
- LaunchFast sends a verification email with a code and a link
- User verifies by entering the code or clicking the link
- User completes onboarding, including setting their password
Login
Users log in with their email and password. If two-factor authentication is enabled, they are prompted for their 2FA code after password verification.
Forgot password
The forgot password flow sends a TOTP verification code to the user's email. After verification, the user can set a new password.
OAuth providers
LaunchFast includes GitHub OAuth out of the box, built on remix-auth. You can add other providers supported by remix-auth, including OpenID Connect via web-oidc.
GitHub OAuth setup
During development, GitHub OAuth is mocked when GITHUB_CLIENT_ID starts with MOCK_ (using MSW). For real GitHub authentication:
- Go to GitHub Settings, then Developer settings, then OAuth Apps
- Register a new application with Homepage URL
http://localhost:3000and Callback URLhttp://localhost:3000/auth/github/callback - Copy the Client ID to
GITHUB_CLIENT_IDin your.env - Generate a client secret and copy it to
GITHUB_CLIENT_SECRET
GITHUB_CLIENT_ID="your-client-id"
GITHUB_CLIENT_SECRET="your-client-secret"Create separate OAuth apps for each deployed environment (staging, production) with the appropriate URLs.
Related
- Rate limiting — protecting login and signup endpoints from abuse