Как лучше делать авторизацию в angular2?

Смысл такой, я хочу завязаться со сторонней апи. Т.е данные отправляются на сторонний сайт и если пришёл ответ 200, то авторизовывать его на сайте. Как лучше всего сделать авторизацию на ангуларе2?
  • Вопрос задан
  • 1069 просмотров
Пригласить эксперта
Ответы на вопрос 3
vitali1995
@vitali1995
Вся логика на Angular 2 делается через классы-сервисы. Достаточно выполнить 3 простых шага:

1. К примеру, в user.service.ts добавим информацию об авторизованном пользователе.

2. Создадим сервис AuthGuard, который будет отвечать за авторизацию. Он должен имплементировать интерфейс CanActivate

@Injectable()
export class AuthGuard implements CanActivate {
  constructor(private userService: UserService) {}

  canActivate(route: ActivatedRouteSnapshot, state:RouterStateSnapshot): Promise<boolean>|boolean {
    return this.userService.isAuth;
  }
}


3. В описании путей укажем класс, отвечающий за проверку доступа:
{
    path: 'logout',
    component: LogoutComponent,
    canActivate: [AuthGuard]
  },
  {
    path: 'login',
    component: LoginComponent,
    canActivate: [GuestGuard]
  },
Ответ написан
Комментировать
dimka-dooz
@dimka-dooz
front-end разработчик)
Встроенный http это может. Тут больше вопрос к стороннему апи.
Ответ написан
Комментировать
@Pogran Автор вопроса
Кстати нашёл вот такой мануал jasonwatmore.com/post/2016/08/16/angular-2-jwt-aut...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы