auth0-angular

auth0/agent-skills · updated Apr 8, 2026

$npx skills add https://github.com/auth0/agent-skills --skill auth0-angular
0 commentsdiscussion
summary

Add authentication to Angular applications using @auth0/auth0-angular.

skill.md

Auth0 Angular Integration

Add authentication to Angular applications using @auth0/auth0-angular.


Prerequisites

  • Angular 13+ application
  • Auth0 account and application configured
  • If you don't have Auth0 set up yet, use the auth0-quickstart skill first

When NOT to Use

  • AngularJS (1.x) - This SDK requires Angular 13+, use legacy solutions for AngularJS
  • Mobile applications - Use auth0-react-native for React Native or native SDKs for Ionic
  • Backend APIs - Use JWT validation middleware for your server language

Quick Start Workflow

1. Install SDK

npm install @auth0/auth0-angular

2. Configure Environment

For automated setup with Auth0 CLI, see Setup Guide for complete scripts.

For manual setup:

Update src/environments/environment.ts:

export const environment = {
  production: false,
  auth0: {
    domain: 'your-tenant.auth0.com',
    clientId: 'your-client-id',
    authorizationParams: {
      redirect_uri: window.location.origin
    }
  }
};

3. Configure Auth Module

For standalone components (Angular 14+):

Update src/app/app.config.ts:

import { ApplicationConfig } from '@angular/core';
import { provideAuth0 } from '@auth0/auth0-angular';
import { environment } from '../environments/environment';

export const appConfig: ApplicationConfig = {
  providers: [
    provideAuth0({
      domain: environment.auth0.domain,
      clientId: environment.auth0.clientId,
      authorizationParams: environment.auth0.authorizationParams
    })
  ]
};

For NgModule-based apps:

Update src/app/app.module.ts:

import { AuthModule } from '@auth0/auth0-angular';
import { environment } from '../environments/environment';

@NgModule({
  imports: [
    AuthModule.forRoot({
      domain: environment.auth0.domain,
      clientId: environment.auth0.clientId,
      authorizationParams: environment.auth0.authorizationParams
    })
  ]
})
export class AppModule {}

4. Add Authentication UI

Update src/app/app.component.ts:

import { Component } from '@angular/core';
import { AuthService } from '@auth0/auth0-angular';

@Component({
  selector: 'app-root',
  template: `
    <div *ngIf="auth.isLoading$ | async; else loaded">
      <p>Loading...</p>
    </div>

    <ng-template #loaded>
      <ng-container *ngIf="auth.isAuthenticated$ | async; else loggedOut">
        <div *ngIf="auth.user$ | async as user">
          <img [src]="user.picture" [alt]="user.name" />
          <h2>Welcome, {{ user.name }}!</h2>
          <button (click)="logout()">Logout</button>
        </div>
      </ng-container>

      <ng-template #loggedOut">
        <button (click)="login()">Login</button>
      </ng-template>
    </ng-template>
  `
})
export class AppComponent {
  constructor(public auth: AuthService) {}

  login(): void {
    this.auth.loginWithRedirect();
  }

  logout(): void {
    this.auth.logout({ logoutParams: { returnTo: window.location.origin } });
  }
}

5. Test Authentication

Start your dev server and test the login flow:

ng serve

Detailed Documentation

  • Setup Guide - Automated setup scripts (Bash/PowerShell), CLI commands, manual configuration
  • Integration Guide - Protected routes with guards, HTTP interceptors, error handling
  • API Reference - Complete SDK API, configuration options, services reference, testing strategies

Common Mistakes

Mistake Fix
Forgot to add redirect URI in Auth0 Dashboard Add your application URL (e.g., http://localhost:4200, https://app.example.com) to Allowed Callback URLs in Auth0 Dashboard
Not configuring AuthModule properly Must call AuthModule.forRoot() in NgModule or provideAuth0() in standalone config
Accessing auth before initialization Use isLoading$ observable to wait for SDK initialization
Storing tokens manually Never manually store tokens - SDK handles secure storage automatically
Missing HTTP interceptor Use authHttpInterceptorFn or AuthHttpInterceptor to attach tokens to API calls
Route guard not protecting routes Apply AuthGuard (or authGuardFn) to protected routes in routing config

Related Skills

  • auth0-quickstart - Basic Auth0 setup
  • auth0-migration - Migrate from another auth provider
  • auth0-mfa - Add Multi-Factor Authentication

Quick Reference

Core Services:

  • AuthService - Main authentication service
  • isAuthenticated$ - Observable check if user is logged in
  • user$ - Observable user profile information
  • loginWithRedirect() - Initiate login
  • logout() - Log out user
  • getAccessTokenSilently() - Get access token for API calls

Common Use Cases:


References

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.562 reviews
  • Jin Jain· Dec 28, 2024

    I recommend auth0-angular for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Evelyn Rahman· Dec 20, 2024

    Registry listing for auth0-angular matched our evaluation — installs cleanly and behaves as described in the markdown.

  • James Brown· Dec 20, 2024

    auth0-angular fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Dhruvi Jain· Dec 16, 2024

    auth0-angular reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Mia Johnson· Dec 12, 2024

    Solid pick for teams standardizing on skills: auth0-angular is focused, and the summary matches what you get after install.

  • Kofi Yang· Dec 8, 2024

    We added auth0-angular from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Jin Malhotra· Nov 27, 2024

    Keeps context tight: auth0-angular is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Aditi Perez· Nov 19, 2024

    auth0-angular has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Kofi Harris· Nov 19, 2024

    auth0-angular reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Diya Wang· Nov 11, 2024

    Useful defaults in auth0-angular — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

showing 1-10 of 62

1 / 7