Skip to content

A complete login form with email/password fields. Handles multi-step auth flows inline: forgot password, magic link, passkey login, MFA challenge, MFA setup, and workspace selection all appear automatically within the same component when the auth state requires them.

Usage:

import { Component, inject } from '@angular/core';
import { Router } from '@angular/router';
import { LoginFormComponent } from '@nebulr-group/bridge-angular';

@Component({
  selector: 'app-login',
  standalone: true,
  imports: [LoginFormComponent],
  template: `
    <bridge-login-form
      [showSignupLink]="true"
      signupHref="/auth/signup"
      [showForgotPassword]="true"
      [showMagicLink]="true"
      [showPasskeys]="true"
      (login)="router.navigateByUrl('/dashboard')"
      (error)="onError($event)"
    />
  `,
})
export class LoginPageComponent {
  protected readonly router = inject(Router);

  onError(err: Error): void {
    console.error(err);
  }
}

Inputs & outputs:

Input / outputTypeDefaultDescription
showSignupLinkbooleanauto: signupEnabled from app config, true if unsetShow a link to the signup page
signupHrefstring'/auth/signup'Signup page URL
showForgotPasswordbooleantrueShow the forgot password link
forgotPasswordHrefstring'/auth/forgot-password'Reserved for a future external-redirect mode; currently the forgot password link always opens the inline form
showMagicLinkbooleanauto: magicLinkEnabled from app config, false if unsetShow the magic link login option
magicLinkHrefstring'/auth/magic-link'Magic link request page URL
showPasskeysbooleanauto: passkeysEnabled from app config, false if unsetShow the passkey login button
passkeySetupHrefstring'/auth/setup-passkey'Passkey setup page URL
(login)EventEmitter<void>(none)Called after successful login (all steps complete)
(error)EventEmitter<Error>(none)Called on any login error
(onSsoClick)EventEmitter<string>(none)Called when an SSO button is clicked
headingstring''Custom heading text
ssoConnectionsFederationConnection[][]SSO connections to display (a federation connection is an SSO identity provider configured for your app, e.g. Google or Azure AD). Auto-derived from app config if not set
ssoMode'redirect' | 'popup''redirect'SSO kickoff strategy for the built-in buttons. See SSO mode. Ignored when (onSsoClick) is provided.

Auth state transitions: After a successful email/password login, the <bridge-login-form> checks the resulting auth state. If MFA is required, it automatically shows <bridge-mfa-challenge>. If MFA setup is required, it shows <bridge-mfa-setup>. If workspace selection is needed (multi-workspace user), it shows <bridge-tenant-selector>. The (login) output fires only after all steps are complete and the user is fully authenticated.