Angular 7 Authorization Не работает правильно - PullRequest
0 голосов
/ 19 апреля 2019

Я работаю над реализацией аутентификации, для которой я использую перехватчик.Однако я получаю сообщение об ошибке.

"В этом запросе отказано в авторизации."

Ниже приведен код перехватчика.

@Injectable()
export class AuthenticationInterceptor implements HttpInterceptor{


    constructor(@Inject('IAuthService') private authService:IAuthService) {          
    }

    intercept(req: HttpRequest<any>, next: HttpHandler):


    Observable<HttpEvent<any>> {
        if(this.authService.isLoggedIn){
            req = req.clone({
                headers: req.headers.set('Authorization', `Bearer ${this.authService.token}`)
              });
        }
        return next.handle(req);
    }
}

И это показано в запросе на добавление токена в Request Headers:

Так что я могу сделать запрос от Почтальона и вернуть правильные данные.

Просто чтобы вы могли увидеть полную ошибку:

Ошибка ОШИБКИ: Uncaught (в обещании): HttpErrorResponse: {"headers": {"normalizedNames": {}, "lazyUpdate": null}, "status": 401, "statusText": "Unauthorized", "url": "http://localhost/Invoicing/api/users/settings/getTableColumns/leads-list","ok":false,"name":"HttpErrorResponse","message":"Http ответ об ошибке для http://localhost/Invoicing/api/users/settings/getTableColumns/leads-list: 401 Unauthorized", "error": {"message": "Авторизация для этого запроса отклонена. "}} В resolPromise (zone.js: 814) в resolPromise (zone.js: 771) в zone.js: 873 в ZoneDelegate.push ../ node_modules / zone.js / dist /zone.js.ZoneDelegate.invokeTask (zone.js: 421) в Object.onInvokeTask (core.js: 16147) в ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invokeTask (zone.JS: 420) в Zone.push ../ node_modules / zone.js / dist / zone.js.Zone.runTask (zone.js: 188) в сливе MicroTaskQueue (zone.js: 595) в ZoneTask.push ../ node_modules / zone.js / dist / zone.js.ZoneTask.invokeTask [как вызов] (zone.js: 500) в invokeTask (zone.js: 1540)

Есть ли что-то, что я здесь упускаю?

1 Ответ

0 голосов
/ 19 апреля 2019

Я исправил проблему, которая заключалась в том, что я добавил перехватчик к app.module.ts, и мне нужно было добавить его в каждый модуль, в котором находится служба, использующая его.

Надеюсь, это поможет кому-то еще.

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