Чтобы получить значение из заголовка HTTP, вы можете использовать @RequestHeader("headerValue")
.
Но что меня беспокоит, так это то, что вы используете обычную аутентификацию или JWT? Базовая аутентификация касается только имени пользователя и пароля и не имеет ничего общего с токеном доступа. Требуется HTTP-заголовок в формате:
Authorization: Basic <credentials>
, где <credentials>
равно Base64Encode(username:password)
.
С другой стороны, если вы используете токен доступа, отформатированный в JWT, обычной практикой является использование Bearer
в заголовке «Авторизация»:
Authorization: Bearer <JWT>
Поэтому, что бы вы ни использовали, я советую использовать @RequestHeader("Authorization")
, чтобы сначала получить значение заголовка Authorization
. Затем декодируйте значение в соответствии с вашими фактическими механизмами аутентификации:
@GetMapping("/persons")
public String loadPersons(@RequestHeader("Authorization") String authHeader) throws ParseException{
//decode authHeader
}