Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. export const routes: Routes = [
  2. { path: '', component: LoginComponent },
  3. { path: 'login', component: LoginComponent },
  4. { path: 'home', component: HomeComponent, canActivate: [AuthGuard] },
  5. { path: '**', component: LoginComponent },
  6. ];
  7.  
  8. @Injectable()
  9. export class AuthGuard implements CanActivate {
  10. response: ResponseInterface;
  11.  
  12. constructor(private router: Router, private localStorage: LocalStorageService,
  13. private services: MyService) { }
  14. canActivate() {
  15.  
  16. let token = String(this.localStorage.get('token'));
  17. if (token != null) {
  18. this.services.keepAlive(token).subscribe(
  19. response => this.response = response,
  20. error => alert(error),
  21. () => {
  22. if (this.response.status == 'OK') {
  23. console.log("response OK");
  24. return true;
  25. } else {
  26. console.log("response KO");
  27. this.router.navigate(['/login']);
  28. return false;
  29. }
  30. }
  31. )
  32.  
  33. } else {
  34. this.router.navigate(['/login']);
  35. return false;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement