Home
Softono
angular-token

angular-token

Open source MIT TypeScript
367
Stars
182
Forks
49
Issues
26
Watchers
2 years
Last Commit

About angular-token

:key: Token based authentication service for Angular with interceptor and multi-user support. Works best with devise token auth for Rails. Example:

Platforms

Web Self-hosted

Languages

TypeScript

Angular-Token

npm version npm downloads Build Status Angular Style Guide

🔑 Token based authentication service for Angular with interceptor and multi-user support. Works best with the devise token auth gem for Rails.

👋 This library has been renamed to Angular-Token! Please follow the migration guide.


Quick Links


Install

  1. Set up a Rails with Devise Token Auth

  2. Install Angular-Token via NPM with

     npm install angular-token
  3. Import and add AngularTokenModule to your main module and call the 'forRoot' function with the config. Make sure you have HttpClientModule imported too.

     import { AngularTokenModule } from 'angular-token';
    
     @NgModule({
         imports: [
             ...,
             HttpClientModule,
             AngularTokenModule.forRoot({
               ...
             })
         ],
         declarations: [ ... ],
         bootstrap:    [ ... ]
     })
  4. (Maybe Optional) Fix injection context runtime error After installing this package, if you get an Error: inject() must be called from an injection context when running your app, add the following to your typescript path config in the tsconfig[.app].json file:

     "paths": {
       "@angular/*": [ "./node_modules/@angular/*" ]
     }

Use

  1. Register your user

     constructor(private tokenService: AngularTokenService) { }
    
     this.tokenService.registerAccount({
         login:                '[email protected]',
         password:             'secretPassword',
         passwordConfirmation: 'secretPassword'
     }).subscribe(
         res =>      console.log(res),
         error =>    console.log(error)
     );
  2. Sign in your user

     constructor(private tokenService: AngularTokenService) { }
    
     this.tokenService.signIn({
         login:    '[email protected]',
         password: 'secretPassword'
     }).subscribe(
         res =>      console.log(res),
         error =>    console.log(error)
     );
  3. Now you can use HttpClient to access private resources

     constructor(http: HttpClient) { }
    
     this.http.get('private_resource').subscribe(
         res =>      console.log(res),
         error =>    console.log(error)
     );

Contributors


Jan-Philipp Riethmacher

Arjen Brandenburgh

License

The MIT License (see the LICENSE file for the full text)