【发布时间】:2019-06-12 22:02:24
【问题描述】:
我正在设置 WSO2 API 管理器的实例,并希望通过将其链接到我现有的 OpenID Connect 身份服务器 (OpenAM) 来让开发人员访问 API“存储”页面。我已将 OIDC 配置添加到存储配置文件 (wso2am-2.6.0/repository/deployment/server/jaggeryapps/store/site/conf/site.json) 中,其中包含授权、令牌、用户信息端点等。
当用户在商店中单击登录时,它会正确地将他们重定向到 OpenAM 进行登录,并将访问令牌传回商店应用程序。我还确保从 userinfo 端点(如首选用户名)返回一些必需的声明。例如,我还返回了一个“组”声明,其中列出了用户应该在“订阅者”中的组。
我从 userinfo 返回的声明是:
{
"address":{
"formatted":"My House"
},
"given_name":"Danny",
"family_name":"Developer",
"name":"Danny Developer",
"preferred_username":"Danny Developer",
"groups":[
"subscriber"
],
"email":"adam.hatherly@nhs.net",
"sub":"developer1"
}
但是,无论我尝试使用声明和组名,商店仍然会给出错误消息“不允许用户登录商店。”。我假设我需要在访问令牌或 userinfo 端点中添加其他内容 声明列表以使商店应用程序接受用户,或者商店或碳控制台中的一些其他配置?
【问题讨论】:
-
请求中是否包含“openid”范围?
-
是的 - 它正在请求 openid 范围。所有的 oidc 调用似乎都正常工作(auth、token、userinfo)——只是在进程结束时商店应用程序说不允许用户。