Сервер авторизации OAuth Spring Boot 2 - ограничивает области в соответствии с полномочиями пользователя - PullRequest
0 голосов
/ 22 ноября 2018

Я создаю сервер авторизации OAuth 2 с помощью Spring Boot 2. Я хочу ограничить области, которые клиенту разрешено запрашивать не только по конфигурации клиента, но и согласно полномочиям авторизующего пользователя.

Допустим, клиент client1 может запросить область действия scope_edit.Я хочу, чтобы пользователь с полномочиями ROLE_EDITOR мог авторизовать запрос для этой области.Но если пользователь имеет только права доступа ROLE_READER, запрос должен быть отклонен автоматически.Без этого пользователь может потенциально предоставить клиенту более высокие привилегии, чем он сам.

Чтобы усложнить ситуацию, я хочу проверить это еще раз, когда токен обновления используется для получения нового токена доступа, в случае, если пользовательбольше не редактор.

Кажется, это стандартная вещь, но из моего прочтения источника ключевых классов, таких как AuthorizationEndpoint, требуется замена большого количества стандартного кода Spring.Аргументы для OAuth2RequestValidator.validateScope не содержат информации об аутентифицированном пользователе.Существует ли стандартный подход Spring?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...