Apereo CAS 5.3.9 возвращает пустой профиль пользователя с типом предоставления пароля - PullRequest
0 голосов
/ 08 мая 2020

У меня есть приложение, которое получает токен доступа от 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 Ответ

0 голосов
/ 07 августа 2020

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

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

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

...