← Back to Skills Marketplace
auth0

Auth0 Angular

by Auth0 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
75
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install auth0-angular
Description
Use when adding authentication to Angular applications with route guards and HTTP interceptors - integrates @auth0/auth0-angular SDK for SPAs
README (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: `
    \x3Cdiv *ngIf="auth.isLoading$ | async; else loaded">
      \x3Cp>Loading...\x3C/p>
    \x3C/div>

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

      \x3Cng-template #loggedOut">
        \x3Cbutton (click)="login()">Login\x3C/button>
      \x3C/ng-template>
    \x3C/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

Usage Guidance
This is a documentation-only skill that walks you through installing @auth0/auth0-angular and wiring it into an Angular app. It's coherent and matches its stated purpose. Things to consider before following the automated steps: 1) the setup script installs the Auth0 CLI and uses curl | sh to fetch an installer from GitHub — review that installer before executing it. 2) The script will require you to log into your Auth0 account and may create or modify applications in your tenant (it can create a SPA client and output a client_id/domain). 3) Never put a client secret into client-side code; follow the guide's advice to only use public client credentials. 4) If you prefer less risk, perform the manual steps (npm install, configure environment files, register application in the Auth0 dashboard) instead of running the automated script.
Capability Analysis
Type: OpenClaw Skill Name: auth0-angular Version: 1.0.0 The skill bundle provides legitimate documentation for Auth0 integration but includes a setup script in 'references/setup.md' that performs high-risk actions. Specifically, it uses the 'curl|sh' pattern to install the Auth0 CLI from a remote source and automates the creation of applications and retrieval of credentials via shell commands. While these actions are aligned with the stated purpose of the skill, the use of unverified remote execution and broad account modification capabilities warrants a suspicious classification.
Capability Tags
requires-oauth-tokenrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
Name/description match the included guides (SDK install, module configuration, guards, interceptors). No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
SKILL.md and reference documents only instruct typical developer actions (npm install, edit environment files, add AuthModule/config, run ng serve). The optional automated setup uses the Auth0 CLI to create/list apps and obtain domain/client_id, which is appropriate for onboarding an Auth0 application.
Install Mechanism
This is an instruction-only skill (no install spec). The provided automated setup script installs the Auth0 CLI and uses a curl | sh installer from raw.githubusercontent.com (the official auth0-cli repo). Using a GitHub-hosted install script is common for CLIs but carries the usual risk of executing a remote script; users should review the installer before running it.
Credentials
The skill does not request environment variables or secrets. The setup flow requires authenticating to your Auth0 account (expected) and produces public values (domain, client_id) to copy into environment files. The guide warns not to expose client secrets, which is appropriate.
Persistence & Privilege
Skill is not always-enabled, does not request system persistence, and contains no code that modifies other skills or global agent settings. It's instruction-only, so it will not run anything on the host by itself.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install auth0-angular
  3. After installation, invoke the skill by name or use /auth0-angular
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of auth0-angular skill. - Provides step-by-step integration of Auth0 authentication in Angular 13+ applications. - Covers both standalone and NgModule usage with code examples. - Includes common mistakes table, troubleshooting, and best practices. - Links to detailed setup, integration, and API documentation. - Lists related skills for extended Auth0 features.
Metadata
Slug auth0-angular
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Auth0 Angular?

Use when adding authentication to Angular applications with route guards and HTTP interceptors - integrates @auth0/auth0-angular SDK for SPAs. It is an AI Agent Skill for Claude Code / OpenClaw, with 75 downloads so far.

How do I install Auth0 Angular?

Run "/install auth0-angular" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Auth0 Angular free?

Yes, Auth0 Angular is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Auth0 Angular support?

Auth0 Angular is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Auth0 Angular?

It is built and maintained by Auth0 (@auth0); the current version is v1.0.0.

💬 Comments