Я использую JWT и Spring security для разработки приложения форума.Я получаю ошибку 403 при доступе к конечным точкам пользователей.Это произошло после слияния, ранее все работало нормально.Конечная точка работает должным образом из POSTMAN, но проблема возникает при доступе из браузера. Ничто в коде не было перепутано, теперь заголовок авторизации не добавляется в запрос, а только в конечных точках для пользователей, в других случаях это работает.Пустой токен хранится в локальном хранилище браузера.В чем может быть причина чего-то подобного?
Угловой перехватчик добавляет заголовок авторизации :
intercept(request: HttpRequest<any>, next: HttpHandler) {
const authHeader = AUTHORIZATION_HEADER;
const accessToken = this.authService.getAuthorization();
if (accessToken !== null) {
request = request.clone({
headers: request.headers.set(authHeader, accessToken),
withCredentials: false
});
}
return next.handle(request);
}
}
Служба Angular Auth
login(userCredentials: UserCredentials): Observable<any> {
return this.http
.post<AccountInfo>(`${API_URL}/login`, userCredentials, { observe: 'response' })
.pipe(
tap((response: HttpResponse<AccountInfo>) => {
const token = response.headers.get(AUTHORIZATION_HEADER);
this.storeAuthorization(token);
const body = response.body;
this.storeAccountInfo(body);
})
);
}
getAuthorization(): string {
return localStorage.getItem(AUTHORIZATION_KEY);
}
private storeAuthorization(authToken: string) {
localStorage.setItem(AUTHORIZATION_KEY, authToken);
}
private storeAccountInfo(accountInfo: AccountInfo) {
localStorage.setItem(USERNAME_KEY, accountInfo.username);
localStorage.setItem(ROLE_KEY, accountInfo.role.toString());
}
Вот git-репо с исходным кодом https://github.com/PatrykKleczkowski/Forum/tree/feature/improvments