Настройте client_id как обязательный параметр для типа предоставления пароля - PullRequest
2 голосов
/ 04 августа 2020

Как правильно сделать client_id обязательным параметром для типа гранта password? Используя этот запрос, я хочу сделать client_id обязательным значением и позволить платформе OAuth2 сравнить его с результатом, возвращенным в метод loadClientByClientId

curl --location --request POST 'http://localhost:8080/engine/oauth/token' \
--header 'Authorization: Basic YWRtaW46cXdlcnR5' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=admin' \
--data-urlencode 'password=qwerty' \
--data-urlencode 'client_id=some_value' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'scope=read_profile'

Как лучше всего реализовать это?

1 Ответ

1 голос
/ 13 августа 2020

Вы можете попробовать реализовать собственный OAuth2RequestValidator с методом validateScope(TokenRequest tokenRequest, ...) из docs

Убедитесь, что клиент запросил допустимый набор областей.

, имеющий доступ к TokenRequest.getRequestParameters()

EDIT См. Также документацию для TokenEndpoint

Клиенты должны быть аутентифицированным (...) для доступа к этой конечной точке, а идентификатор клиента извлекается из токена аутентификации. (...)

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