Skip to content

Bridge gives your Angular app a complete authentication system without you building one: sign-in flows (email and password, magic link, passkeys, Google and Azure AD SSO, MFA), signup, drop-in UI components for all of them, route protection, roles and privileges, multi-workspace support, and self-service API tokens. You configure what’s enabled in Control Center (your admin dashboard at app.thebridge.dev) or the CLI; the SDK components pick it up automatically.

Three ideas carry the whole section:

  • The BridgeService. One injectable service that exposes the signed-in user and their workspace as reactive signals: bridge.user (id, email, role, tenantId) and bridge.tenant.* (the workspace; a workspace is called a tenant in the API). Read them as signal calls and your UI stays current.
  • Auth states. A single authState signal tracks where the user is in the login flow, from 'unauthenticated' through steps like 'mfa-required' and 'tenant-selection' to 'authenticated'. The drop-in <bridge-login-form> walks these states for you; you can also branch on them yourself. See Auth states.
  • The live channel. A persistent realtime connection the SDK maintains. When a role, plan, or permission changes server-side, Bridge pushes the change down the channel and your signals update in place, with no reload or polling. See Live Updates.

Sessions are JWT-based: signing in stores a token set in localStorage, and Bridge refreshes it before expiry. Signing out erases the stored token. See Logging in and logging out.

Each method is a per-app setting, flipped on in Control Center or via the CLI:

Every flow has a ready-made component, imported from @nebulr-group/bridge-angular. They render inside your app with no external redirects, and all accept className and style inputs alongside their own inputs and outputs.

Component(s)What it doesDocs
bridge-login-formComplete login form; handles forgot password, magic link, passkeys, MFA, and workspace selection inlineEmail & password
bridge-signup-formSignup with email, first name, and last nameSignup
bridge-sso-buttonStandalone SSO button, redirect or popup modeSSO login button
bridge-magic-linkMagic link request formMagic link
bridge-forgot-passwordRequest and reset modes for password resetsForgot / reset password
bridge-mfa-challenge, bridge-mfa-setupMFA code challenge and first-time setupMFA / 2FA
bridge-passkey-login, bridge-passkey-setup, bridge-passkey-request-setup-linkPasskey (WebAuthn) login and registrationPasskeys
bridge-tenant-selector, bridge-workspace-selectorPick a workspace at login; switch workspaces laterSwitching workspaces
bridge-team-panelInvite users, change roles, edit workspace settingsUser & team management
bridge-api-token-managementSelf-service API token managementTokens

Pass a RouteGuardConfig as the second argument to provideBridge to mark routes public, protected, or gated behind feature flags or billing, then apply bridgeAuthGuard() via canActivateChild on the routes you want protected. Unauthenticated users are redirected to Bridge’s hosted login page. See Route guards and the config reference.