@codaglobal/ng-jwt-authentication

<a> <br> <h1 align="center">ng-jwt-authentication</h1> </a>

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@codaglobal/ng-jwt-authentication
0.1.15 years ago6 years agoMinified + gzip package size for @codaglobal/ng-jwt-authentication in KB

Readme


ng-jwt-authentication

Ingenious plug-in to handle client side JWT token authentication


Table of contents

  1. Getting Started
  2. Installation instructions
  3. Configurations
  4. API
  5. Contributing

Getting Started

ng-jwt-authentication contains all HttpClient methods bundled with JWT authentication.

Installation instructions

Install ng-jwt-authentication from npm:
npm install @codaglobal/ng-jwt-authentication --save

Add needed package to NgModule imports:
import { JwtAuthenticationModule } from 'ng-jwt-authentication';

const config = {
    refreshUrl: string, //optional
    headerKeyName: string, //optional
    accessTokenKey: string, //optional
    refreshTokenKey: string, //optional
    expiresInKey: string, //optional
    jwtResponse: string //optional
};

@NgModule({
  ...
  imports: [JwtAuthenticationModule.forRoot(config),...]
  ...
})

Add service to your page:
import { JwtAuthenticationService } from 'ng-jwt-authentication';

...
constructor(private httpService: JwtAuthenticationService, ...) {
    ...
  }

someMethod() {
    this.httpService.jwtAuthPost('YOUR-API-URL-HERE', body, headers).subscribe((data) => {
      ...
    }, (error) => {
      ...
    });
  }

Configurations

The configurations in the below table should be set globally in module import and passed as config.
| Name | Type | Default | Description |-------------------|-------------|-----------------|------------- | refreshUrl | String | null | The URL to send refresh token and get the new access token. | headerKeyName | String | Authorization | Optional. Key Name to send the access token in every request. | accessTokenKey | String | accessToken | Optional. Key name of access token from the backend response. | refreshTokenKey | String | refreshToken | Optional. Key name of refresh token from the backend response. | expiresInKey | String | expiresIn | Optional. Key name of expires-in from the backend response. | jwtResponse | String | body | Optional. Values: body or header. Send/receive the tokens in body or header in refresh token call.

API

API contents:


saveJwtToken(accessToken: string, refreshToken: string, expiresIn: string)
Method to save Access Token, Refresh Token, and Expires In values in browser cookies.
| argument | type | description |--------------------|--------|--------------- | accessToken | string | Access token | refreshToken | string | Refresh token | expiresIn | string | Expires In


jwtAuthGet(url: string, options?: Object)
Method to send GET request with jwt token.
| argument | type | description |---------------|--------|------------ | url | string | Request url | options | object | Optional. { headers?: HttpHeaders; observe?: any }.
Send custom headers in the request. Set observe: 'response' to get complete response. Default is observe: 'body'.


jwtAuthPost(url: string, body: any, options?: Object)
Method to send Post request with jwt token.
| argument | type | description |---------------|--------|------------ | url | string | Request url | body | string | Request body | options | object | Optional. { headers?: HttpHeaders; observe?: any }.
Send custom headers in the request. Set observe: 'response' to get complete response. Default is observe: 'body'.


jwtAuthPut(url: string, body: any, options?: Object)
Method to send Put request with jwt token.
| argument | type | description |---------------|--------|------------ | url | string | Request url | body | string | Request body | options | object | Optional. { headers?: HttpHeaders; observe?: any }.
Send custom headers in the request. Set observe: 'response' to get complete response. Default is observe: 'body'.


jwtAuthDelete(url: string, options?: Object)
Method to send Delete request with jwt token.
| argument | type | description |---------------|--------|------------ | url | string | Request url | body | string | Request body | options | object | Optional. { headers?: HttpHeaders; observe?: any }.
Send custom headers in the request. Set observe: 'response' to get complete response. Default is observe: 'body'.


jwtAuthPatch(url: string, body: any, options?: Object)
Method to send Post request with jwt token.
| argument | type | description |---------------|--------|------------ | url | string | Request url | body | string | Request body | options | object | Optional. { headers?: HttpHeaders; observe?: any }.
Send custom headers in the request. Set observe: 'response' to get complete response. Default is observe: 'body'.

How to build lib for development

To run the wrapper project: - clone repository - npm install - ng serve
To update library and check the changes: - Go to projects > angular-jwt - ng build angular-jwt // it will build the changes in library and serve it to the wrapper project.

Contribution

Are very welcome! And remember, contribution is not only PRs and code, but any help with docs or helping other developers to solve issues are very appreciated! Thanks in advance!

License

MIT