angular2-devise-token-auth
v1.2.1
Published
Helper library for working with Devise Token Auth in your Angular 2 applications
Downloads
14
Maintainers
Readme
angular2-devise-token-auth
angular2-devise-token-auth is a helper library for working with Devise Token Auth in your Angular 2 applications.
Installation
npm install angular2-devise-token-auth --save
The library comes with some helpers that are useful in your Angular 2 apps.
AuthHttp
- allows for individual and explicit authenticated HTTP requestsAuthService
- provide the following features according the api:sign in
sign up
sign out
validate token
How it works
After you did the sign in
all requests will be authorized through the headers that will be sent automatically each request.
You don't need to worry about it :sunglasses:.
Setup
It's supposed that you used Angular CLI to create your app.
Include Auth library in the vendor files
Open
angular-cli-build.js
.Include the library in the vendorNpmFiles array:
var Angular2App = require('angular-cli/lib/broccoli/angular2-app'); module.exports = function(defaults) { return new Angular2App(defaults, { vendorNpmFiles: [ ... 'angular2-devise-token-auth/**/*.+(js|js.map)', ] }); };
System.js
Open
/src/system-config.ts
. Modify the file like below:/** Map relative paths to URLs. */ const map:any = { 'angular2-devise-token-auth': 'vendor/angular2-devise-token-auth/dist' }; /** User packages configuration. */ const packages: any = { 'angular2-devise-token-auth': { main: 'angular2-devise-token-auth.js' } };
Bootstrap: The AuthService need to know where the
auth
endpoint is. So you need to pass it as an argument. So open/src/main.ts
, inject the Auth providers, and specify your default endpoint:import {AUTH_PROVIDERS, authService} from 'angular2-devise-token-auth'; class App { constructor() {} } bootstrap(App, [ AUTH_PROVIDERS, authService('http://url-to-auth-endpoint') ])
How to use
AuthHttp
import {AuthHttp} from 'angular2-devise-token-auth';
@Injectable()
export class SomeService {
thing: string;
constructor(private authHttp: AuthHttp) {}
getThing() {
return this.authHttp.get('http://example.com/api/thing');
}
}
AuthService
import {AuthService} from 'angular2-devise-token-auth';
@Component({ ... })
export class SomeComponent {
constructor(private authService: AuthService) {
}
doIt() {
this.authService.signUp({
email: '[email protected]',
password: '123456',
password_confirmation: '123456',
}).subscribe(res => console.log('LoL', res));
}
}
Running unit tests
npm test
How to contribute :heart_eyes:
Follow the GitHub Flow
Pull Requests always will be welcome :metal: