Apereo CAS 5.3.9 возвращает пустой профиль пользователя с типом предоставления пароля

У меня есть приложение, которое получает токен доступа от CAS 5.3.9 через грант кода авторизации, и когда я запрашиваю конечную точку / oauth2 / profile с помощью этого токена доступа, я получаю полный профиль пользователя, как и ожидалось.

Однако, когда я получаю свой токен доступа через тип предоставления пароля, я получаю почти пустой профиль пользователя с client_id в качестве единственного содержимого. Вот так:

{
  "attributes" : { },
  "id" : "myClientId"
}

Я заметил, что похожая проблема, похоже, была исправлена ​​для ветки 5.3.X: https://github.com/apereo/cas/pull/3445

Мой вопрос: это ожидаемое поведение? Существуют ли разные классы токенов доступа?

Для воспроизведения сначала получите токен доступа:

curl -X GET -k -i 'https://cas-server:8443/ooscas/oauth2.0/accessToken?grant_type=password&client_id=myClientId&client_secret=secret&username=john&password=johnspassword'

Затем получите профиль пользователя с полученным токеном доступа:

curl -X GET -k -i 'https://cas-server:8443/ooscas/oauth2.0/profile?access_token=AT-5-xLbu5yX-rh0w4xwZB80vWAisSzfvdB9a'

1 ответ

Судя по всему, это ошибка в CAS, которая исправлена ​​только для версии 6:

https://github.com/apereo/cas/pull/4238

Интеграция этого патча в мою версию CAS решила проблему.

Другие вопросы по тегам