Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 13:44
d6175db

🎉 ngx-auth-client v0.1.0

We're excited to announce the first public release of @ismailza/ngx-auth-client!

ngx-auth-client is a signal-first, zoneless-ready authentication layer for Angular applications. It exposes auth state as signals, protects routes with a functional guard, and keeps your feature code free of any identity-provider imports.

✨ Highlights

🔐 Signal-Based Auth State

  • authenticated, claims, roles, profile, ready and initError exposed as signals
  • Templates update automatically on login, logout and token refresh — no manual change detection needed, even zoneless
  • getToken() is the one deliberately promise-based member; everything that is state is a signal

🧩 Provider-Agnostic Core

  • A single AuthProvider port decouples the library from any specific identity provider
  • Ships with a Keycloak adapter (withKeycloak) out of the box
  • Add your own adapter without touching application code

🛡️ Route Protection

  • Functional authGuard for the Angular Router
  • Role requirements (anyOf / allOf) accumulate down the route tree
  • Unauthenticated users are redirected to login and returned to the route they requested; authenticated users missing a role go to a configured forbidden route

🔑 Bearer Token Interceptor

  • authTokenInterceptor attaches the token to same-origin /api/* requests by default
  • Allowlist by design — a misconfigured pattern fails closed instead of leaking a token to a third-party host

🧪 Built-in Testing Support

  • FakeAuthProvider / withFakeAuth from the testing entry point
  • A real implementation of the same port, not a stub — guards, interceptors and components exercise the same code paths as production

🔒 Security by Default

  • Tokens are held in memory only — nothing touches localStorage/sessionStorage
  • PKCE (S256) is on by default and can't be silently disabled by omission
  • SSR-safe: browser globals are guarded, the library no-ops on the server instead of throwing during prerender

📐 Compatibility

  • Supports Angular 17 – 22, verified against every supported major in CI via a packed-tarball compatibility matrix
  • Zoneless-compatible, standalone-first, and fully tree-shakable across three entry points: core, keycloak, and testing

📚 Documentation

Full docs, guides and API reference are live at ismailza.github.io/ngx-auth-client.

❤️ Feedback

This is the initial public release of ngx-auth-client. Feedback, bug reports, feature requests and contributions are greatly appreciated as the project continues to evolve.


Full Changelog: https://github.com/ismailza/ngx-auth-client/releases/tag/v0.1.0