0

我有一个应用程序通过授权代码授予从 CAS 5.3.9 获取访问令牌,当我使用该访问令牌查询 /oauth2/profile 端点时,我得到了预期的完整用户配置文件。

但是,当我通过密码授予类型获取我的访问令牌时,我会得到一个几乎为空的用户配置文件,其中 client_id 作为其唯一内容。像这样:

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

我注意到 5.3.X 分支似乎已经修复了一个类似的问题:https ://github.com/apereo/cas/pull/3445

我的问题:这是预期的行为吗?是否有不同类别的访问令牌?

要重现,请先获取 Access Token:

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'
4

1 回答 1

0

显然这是 CAS 中的一个错误,仅针对版本 6 进行了修复:

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

将该补丁集成到我的 CAS 版本中解决了这个问题。

于 2020-08-07T14:43:53.747 回答