Provides an angular auth module to handle authentication based on JWT
npm install angular2-auth
npm install angular2-auth
`
When that is done you will have to include the AuthModule into your root module:
`ts
import { AuthModule } from 'angular2-auth';
...
@NgModule({
imports: [
...
AuthModule.forRoot(),
...
],
...
})
export class AppModule {}
`
In the forRoot function you can specify a custom config, more about that in the Configuration section.
Now you are ready to implement the TokenService into your authentication service, a little example below:
`ts
import { TokenService } from 'angular2-auth';
...
@Injectable()
export class AuthService {
constructor(private _http: Http, private _tokenService: TokenService) {}
login(email: string, password: string) {
this._http.post('/auth/login', { email: email, password: password }).subscribe(
response => {
...
this._tokenService.setToken(response.token);
...
},
error => console.error(error),
() => console.log('login#done')
);
}
logout() {
this._tokenService.removeToken();
}
loggedIn() {
let token = this._tokenService.getToken();
if(token && token.token) {
return !token.isExpired();
}
return false;
}
}
`
Sending Requests
If you want to send a request with the Authorization header set with the JWT token you can use the AuthHttp class.
`ts
import { AuthHttp } from 'angular2-auth';
...
@Component({
...
})
export class AppComponent {
constructor(private _authHttp: AuthHttp) {}
getThing() {
this._authHttp.get('/get/thing')
.subscribe(
data => this.thing = data,
error => console.error(error),
() => console.log('getThing#done')
}
}
``