README
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
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:
- 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 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