ng-jwt-authentication
Ingenious plug-in to handle client side JWT token authentication
Table of contents
Getting Started
ng-jwt-authentication contains all HttpClient methods bundled with JWT authentication.Installation instructions
Installng-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:- method saveJwtToken(
accessToken: string
,refreshToken: string
,expiresIn: string
) - method jwtAuthGet(
url: string
,options?: Object
) - method jwtAuthPost(
url: string
,body: any
,options?: Object
) - method jwtAuthPut(
url: string
,body: any
,options?: Object
) - method jwtAuthDelete(
url: string
,options?: Object
) - method jwtAuthPatch(
url: string
,body: any
,options?: Object
)
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 InjwtAuthGet(
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.