Skip to content
SurogateDocs

Authentication

The Authentication tab holds end-user sign-in configuration for your active project, at /work/settings/authentication (shared with Dev mode at /studio/settings/authentication).

This tab always acts on the active project; switch projects with the project switcher. If no project is active, it shows “No active project. Pick a project from the navbar to manage its settings.” The only knob today is BYO Firebase auth; more per-project authentication settings will land here over time.

The Firebase Auth card: web config fields and the sign-in provider switches

Bring your own Firebase project so end users can self-register against the agents in this project. Every value on this form is public Firebase web config — it ships to each agent’s web app at runtime. Surogate never sees your end users’ passwords or OAuth client secrets.

BYO Firebase is a paid feature. On a Free-tier project the form is shown but locked (read-only), with an upgrade prompt linking to Billing. The gate is enforced server-side, not just in the UI: saving or removing a config from a Free-tier project is rejected with an “upgrade to configure end-user sign-in” error even when called through the API directly.

FieldRequiredNotes
Firebase project IDYesMaps to Firebase config projectId.
Auth domainYesMaps to authDomain.
API keyYesMaps to apiKey (public web API key).
App IDOptionalMaps to appId.
Messaging sender IDOptionalMaps to messagingSenderId.

The three required fields must be non-empty — blank values are rejected on save rather than silently stored as a broken login config.

When a configuration is saved, a configured badge appears on the section header.

Three sign-in providers can be toggled on: Google, GitHub, and Email/Password. These switches only control which buttons appear on the agent login page — each provider must also be enabled in the Firebase Console under Authentication → Sign-in method.

  • Save Firebase — persists the form to the active project.
  • Remove Firebase — appears only once a config exists. Prompts for confirmation and warns that self-registered users won’t be able to log in until Firebase is re-configured or they’re issued local credentials.

The tab includes a step-by-step setup guide. In summary:

  1. Create a Firebase project in the Firebase Console, named for your agents’ end-user audience.
  2. Enable/disable Gemini or Google Analytics — your choice.
  3. Register a Web app inside the project and copy its config snippet into the form above (projectId, apiKey, authDomain, appId, messagingSenderId).
  4. Enable sign-in providers in Authentication → Sign-in method, then toggle the matching switches. Google works out of the box; GitHub requires registering an OAuth App on GitHub and pasting its Client ID + secret into Firebase; Email/Password just needs to be toggled on.
  5. Authorize your agents’ domains under Security → Authentication → Settings → Authorized domains (e.g. the *.cloud.surogate.ai host your agent is served from).
  6. Save the form — running agents pick up the change automatically within a minute; no restart or redeploy is needed.