Один запрос GET не работает в Safari (проблема авторизации) - Angular 6 - PullRequest
0 голосов
/ 04 декабря 2018

Я нашел эту проблему в нескольких местах, но нет четкого решения.Не работает только один запрос get (401 Unauthorized), но когда я смотрю на отладчик, код работает нормально, а все остальные запросы работают нормально.Chrome и Firefox также работают нормально, без проблем.

Это мой сервис перехватчиков:

@Injectable()
export class TokenInterceptor implements HttpInterceptor {
    constructor(public auth: LoginService) {}
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

        // Get the auth header from the service.
        let authHeader = this.auth.getToken();
        if (!authHeader) {
            authHeader = '';
        }
        let authReq: any;
        // Clone the request to add the new header.
        if (this.auth.isAuthenticated()) {
            authHeader = authHeader.replace(/^"(.*)"$/, '$1'); // Remove quotes from token start/end.
            authReq = request.clone({headers: request.headers.set('Authorization', 'Bearer ' + authHeader)});
        } else {
            authReq = request.clone({headers: request.headers.set('Token', authHeader)});
        }

        // Pass on the cloned request instead of the original request.
        return next.handle(authReq);
    }
}

У кого-нибудь есть совет?

1 Ответ

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

Вам просто нужно добавить / и конец конечной точки API.Например, это не будет работать:

http://www.example.com/api/skill

, но это будет работать:

http://www.example.com/api/skill/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...