SDK

Angular SDK

@authon/angularAngular module, guards, and services for Authon authentication. Supports Angular 17+ with standalone components.

Installation

bash
npm install @authon/angular

Module Setup

app.config.ts
import { ApplicationConfig } from "@angular/core";
import { provideAuthon } from "@authon/angular";

export const appConfig: ApplicationConfig = {
  providers: [
    provideAuthon({
      publishableKey: "pk_live_your_key",
      afterSignInUrl: "/dashboard",
      afterSignOutUrl: "/",
    }),
  ],
};

AuthonService

app.component.ts
import { Component, inject } from "@angular/core";
import { AuthonService } from "@authon/angular";
import { AsyncPipe } from "@angular/common";

@Component({
  selector: "app-root",
  standalone: true,
  imports: [AsyncPipe],
  template: `
    <div *ngIf="user$ | async as user">
      <h1>Welcome, {{ user.displayName }}!</h1>
      <button (click)="signOut()">Sign out</button>
    </div>
  `,
})
export class AppComponent {
  private authon = inject(AuthonService);
  user$ = this.authon.user$;

  openSignIn() {
    this.authon.openSignIn();
  }

  signOut() {
    this.authon.signOut();
  }
}

Route Guards

app.routes.ts
import { Routes } from "@angular/router";
import { authonGuard } from "@authon/angular";

export const routes: Routes = [
  { path: "", component: HomeComponent },
  {
    path: "dashboard",
    component: DashboardComponent,
    canActivate: [authonGuard],
  },
  {
    path: "admin",
    component: AdminComponent,
    canActivate: [authonGuard],
    data: { authonCondition: (user: any) => user.role === "admin" },
  },
];
Authon — Universal Authentication Platform