Я пытаюсь внедрить Тихая аутентификация для моего сервера авторизации Spring Boot (созданного с помощью @EnableAuthorizationServer), чтобы я мог запросить новые токены доступа из моего SPA.
Я полагаю, что для этого мне сначала нужно как-то убедить мой Сервер авторизации OAuth2 хранить зарегистрированных пользователей в сеансе.
Я не смог найти информацию о том, как решить мою проблему онлайн.
Я предполагаю, что аннотация @EnableAuthorizationServer как-то отключает хранение сеанса, но мне не удалось найти, где это происходит.
Допустим, я "захожу" на мой сервер аутентификации следующим образом:
curl -X POST \
http://localhost:8080/oauth/token \
-H 'Authorization: Basic Y2xpZW50OnNlY3JldA==' \
-H 'content-type: multipart/form-data \
-F grant_type=password \
-F username=demo \
-F password=demo
Выше, конечно, предоставит мне токен доступа. Тем не менее, я хотел бы, чтобы Auth Server держал пользователя в сеансе, чтобы я мог получить доступ к контроллеру ниже БЕЗ этого токена доступа:
// This controller is in my Auth Server
@RestController
public class SecurityController {
@GetMapping("silentauth")
public String silentAuth(Principal principal) {
return principal.toString();
}
}
Идея состоит в том, что после того, как я реализую вышеизложенное, я смогу предоставить конечную точку для "обновления токенов", где Сервер авторизации предоставит новый токен, только если пользователь в данный момент "вошел" на этот сервер.