🔑 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.
Set up a Rails with Devise Token Auth
Install Angular-Token via NPM with
npm install angular-token
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: [ ... ]
})
(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/*" ]
}
Register your user
constructor(private tokenService: 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(private tokenService: 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)