🔑 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.
- 🚀 View to demo on Stackblitz
- ✨ Learn about it on the docs site
- 🔧 Support us by contributing
Set up a Rails with Devise Token Auth
Install Angular-Token via NPM with
npm install angular-token
Import and add
AngularTokenModuleto your main module and call the 'forRoot' function with the config. Make sure you haveHttpClientModuleimported too.import{AngularTokenModule}from'angular-token'; @NgModule({imports: [ ...,HttpClientModule,AngularTokenModule.forRoot({ ... })],declarations: [ ... ],bootstrap: [ ... ]})
(Maybe Optional) Fix injection context runtime error After installing this package, if you get an
Error: inject() must be called from an injection contextwhen running your app, add the following to your typescript path config in thetsconfig[.app].jsonfile:"paths": { "@angular/*": [ "./node_modules/@angular/*" ] }
Register your user
constructor(privatetokenService: AngularTokenService){}this.tokenService.registerAccount({login: 'example@example.org',password: 'secretPassword',passwordConfirmation: 'secretPassword'}).subscribe(res=>console.log(res),error=>console.log(error));
Sign in your user
constructor(privatetokenService: AngularTokenService){}this.tokenService.signIn({login: 'example@example.org',password: 'secretPassword'}).subscribe(res=>console.log(res),error=>console.log(error));
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));
Jan-Philipp Riethmacher | Arjen Brandenburgh |
|---|
The MIT License (see the LICENSE file for the full text)
