access_mode = "accounts", floo provides a hosted OAuth flow powered by WorkOS. Your app’s users can sign in with email, Google, GitHub, and more — no auth infrastructure to build.
What happens when you enable it
- You set
access_mode = "accounts"and[auth] redirect_urisin your config - You deploy with
floo deploy - Floo automatically provisions the auth endpoints for your app
app_id in the OAuth URLs below is your app’s UUID, which you can get with floo apps list --json.
Prerequisites
- your plan is Pro or above
- your app is deployed on floo
- you know the callback URL(s) your app will handle
1. Configure your app
Set the access mode and register your OAuth callback URLs infloo.app.toml:
2. Get your app ID
You will need your app’s UUID for the auth endpoints:3. Integrate the OAuth flow
All auth endpoints are underhttps://api.getfloo.com/v1/auth/apps/{app_id}.
Start login
Redirect your user’s browser to:redirect_uri must match one of the URIs registered in your [auth] config.
Handle the callback
After the user authenticates, floo redirects back to yourredirect_uri with a one-time exchange code:
Exchange code for tokens
From your backend, exchange the code for an access token and refresh token:Verify the JWT
Theaccess_token is an RS256-signed JWT. You can verify it locally using the public keys:
| Claim | Description |
|---|---|
sub | app user ID (UUID) |
email | user’s email address |
name | user’s display name |
iss | https://auth.getfloo.com |
aud | your app ID |
iat | issued at |
exp | expiration |
Refresh tokens
When the access token expires, use the refresh token to get a new one:Logout
Revoke the refresh token when the user logs out:Convenience endpoint
If you don’t want to decode the JWT yourself, use the session endpoint:Access modes
| Mode | Description | Plan | Best for |
|---|---|---|---|
public | No auth, anyone can access | All | Marketing sites, open APIs |
password | Shared app password | Pro+ | Private demos, client previews |
accounts | Per-user auth via hosted OAuth | Pro+ | Apps with named end users |
sso | Enterprise SSO via SAML/OIDC | Enterprise | Enterprise apps |
Password-protected apps
Environment overrides
Override access mode per environment:[environments.dev].access_mode wins over [app].access_mode.
Config File Spec
Full reference for all config fields and precedence.
Team Access
Org membership, invites, and permissions.