Я хочу защитить приложение, которое позволяет как известным, так и неизвестным пользователям получать доступ к странице. Само приложение защищено через OAuth2 и Keycloak. Приложение состоит из нескольких областей.
Это не проблема для аутентификации известных пользователей со стандартным потоком кода авторизации. Это работает просто отлично. Эти известные пользователи имеют доступ ко всем областям.
Теперь я хотел бы предоставить неизвестным пользователям - в том смысле, что они не существуют в Keycloak - доступ к тому же ресурсу. Я хотел бы создать какую-то ссылку для доступа, я могу выдать, которая кодирует только одну область, к которой у этого пользователя есть доступ. У меня два вопроса:
- Предлагает ли Keycloak средство для создания токена JWT, который может быть программно получен конечной точкой, которая получает только что упомянутую ссылку доступа, без необходимости иметь пользовательский объект в Keycloak?
- Можно ли прикрепить утверждения этого "динамического" пользователя, которые кодируют области, к которым у него есть доступ?
Поскольку у меня есть ограниченный набор областей, я теоретически мог бы работать с конечным набором сгенерированных пользователей и соответствующих ролей. Интересно, есть ли лучший способ?