JWT — Авторизация не добавляется в заголовок в браузере

#java #angular #spring #security #jwt

#java #angular #spring #Безопасность #jwt

Вопрос:

Я использую JWT и Spring security для разработки приложения для форума. Я получаю ошибку 403 при доступе к конечным точкам пользователей. Это произошло после слияния, ранее все работало должным образом. Конечная точка работает должным образом из POSTMAN, но проблема возникает при доступе из браузера, Ничего в коде не было перепутано, теперь заголовок авторизации не добавляется к запросу, а только в конечных точках для пользователей, в других случаях это работает. Пустой токен хранится в локальном хранилище браузера. Что может быть причиной чего-то подобного?

Перехватчик Angular добавляет заголовок авторизации:

 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

   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

Комментарии:

1. Пожалуйста, предоставьте только фрагмент кода, если вы считаете, что проблема заключается в том, чтобы другие могли помочь вам, а не в том, чтобы они могли перейти к источнику вашего репозитория

2. я действительно не знаю, в чем проблема, потому что в моей ветке, где я работал над панелью администратора, и все было в порядке, теперь после слияния не работает, поэтому более конкретный вопрос заключается в том, что могло повлиять на это