Skip to content

ngx-jwt-handler is an Angular library that provides services for managing JSON Web Tokens (JWT) and handling sessions in Angular applications. It includes a JWT handler service for decoding and managing JWT tokens, a session handler service for managing browser sessions, and an interceptor for adding JWT tokens to HTTP requests.

License

Notifications You must be signed in to change notification settings

WilliamsEnabulele/ngx-jwt-handler

Repository files navigation

ngx-jwt-handler

NPM Downloads NPM Downloads NPM Downloads

ngx-jwt-handler is an Angular library that provides services for managing JSON Web Tokens (JWT) and handling sessions in Angular applications. It includes a JWT handler service for decoding and managing JWT tokens, a session handler service for managing browser sessions, and an interceptor for adding JWT tokens to HTTP requests.

Installation

You can install ngx-jwt-handler via npm:

npm install ngx-jwt-handler

Usage

JWT Handler Service The JWT handler service allows you to decode JWT tokens and check their expiration.

import { JwtHandlerService } from 'ngx-jwt-handler';

// Inject JwtHandlerService in your component or service
constructor(private jwtHandlerService: JwtHandlerService) {}

// Decode a JWT token
const decodedToken = this.jwtHandlerService.decodeToken(token);

// Check if a token is expired
const isTokenExpired = this.jwtHandlerService.isTokenExpired(token);

// Check if a token audience is valid
const isTokenAudienceValid = this.jwtHandlerService.isTokenAudienceValid(token, audience);

// Check if token claims are present
const hasRequiredClaims = this.jwtHandlerService.hasRequiredClaims(token, claims[]);

Session Handler Service The session handler service provides methods for managing browser sessions.

import { SessionHandlerService } from 'ngx-jwt-handler';

// Inject SessionService in your component or service
constructor(private sessionService: SessionHandlerService) {}

this.sessionService.add('accessToken', 'token');

this.sessionService.remove('accessToken');

this.sessionService.get('accessToken');

this.sessionService.has('accessToken');

this.sessionService.clear();

JWT Interceptor The JWT interceptor automatically adds JWT tokens to HTTP requests.

import { TokenInterceptor } from 'ngx-jwt-handler';
import { HTTP_INTERCEPTORS } from '@angular/common/http';

// Include TokenInterceptor in your providers array in your app module
providers: [
  {
    provide: HTTP_INTERCEPTORS,
    useClass: TokenInterceptor,
    multi: true
  }
]

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

ngx-jwt-handler is an Angular library that provides services for managing JSON Web Tokens (JWT) and handling sessions in Angular applications. It includes a JWT handler service for decoding and managing JWT tokens, a session handler service for managing browser sessions, and an interceptor for adding JWT tokens to HTTP requests.

Resources

License

Stars

Watchers

Forks

Packages

No packages published