OAuth in Angular 9 - PullRequest
       2

OAuth in Angular 9

0 голосов
/ 26 марта 2020

Я пытаюсь реализовать OAuth в Angular 9, но когда я отправляю запрос на публикацию по URL-адресу, который сгенерирует ошибку 401 при получении токена I, потому что для этого мне нужна первая авторизация, но сейчас я не знаю, как реализовать запрос авторизации.

auth.service.ts

  // Sign-in
  signIn(user: User) {
    console.log(user);
    return this.http.post('https://credbem-app.herokuapp.com/oauth/token', user)
      .subscribe(res => {
        localStorage.setItem('access_token', res.token)
      });
  }

  getToken() {
    return localStorage.getItem('access_token');
  }

authconfig.interceptor.ts

export class AuthInterceptor implements HttpInterceptor {
    constructor(private authService: AuthService) { }

    intercept(req: HttpRequest<any>, next: HttpHandler) {
        const authToken = this.authService.getToken();
        req = req.clone({
            setHeaders: {
                Authorization: "Bearer " + authToken
            }
        });
        return next.handle(req);
    }
}

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете добавить заголовок при запросе на вход в систему, например, если вы используете oauth2

const headers = {
  Authorization: 'Basic ' + btoa('clientId:secret'),
  'Content-type': 'application/x-www-form-urlencoded',
};

, а затем отправить запрос с

this.http.post(this.baseUrl, user, {headers});

, если вы используете простой jwt. Тогда он может быть проблемой CORS, которую можно решить с помощью proxy-config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...