Вот ответ с другого форума.
Мне кажется, так работает Spring Security. Он заполняет этот параметр, если вы входите в систему с помощью браузера, но не при отправке токена доступа. Вы можете использовать токен доступа для вызова конечной точки / userinfo и получения информации о пользователе таким образом. Или вы можете использовать Jwt вместо OidcUser, как показано в этом примере.
@GetMapping("/")
public String index(@AuthenticationPrincipal Jwt jwt) {
return String.format("Hello, %s!", jwt.getSubject());
}