繁体   English   中英

WSO2 Identity Server:不能对OAuth2使用自定义声明

[英]WSO2 Identity Server: Cannot use custom claims with OAuth2

我们已经安装了预打包的Identity Server 5.1.0和API Manager 1.10.0,并使用sqlserver作为数据存储。

我们使用OAUTH2来授权我们的API's ,我们希望将本地声明映射到服务提供商(应用程序?)。 在API的后面,我们有一个.Net Wcf服务,其中包含一些日志记录,我们在其中使用WebOperationContext.Current.IncomingRequest.Headers["assertion"]读取标头并打印出现的声明。

返回的索赔是:

{"iss":"wso2.org/products/am"
"exp":1462357259751
"wso2url/claims/subscriber":"Sjaak"
"wso2url/claims/applicationid":"1003"
"wso2url/claims/applicationname":"DefaultApplication"
"wso2url/claims/applicationtier":"Medium"
"wso2url/claims/apicontext":"/Test/v1.0"
"wso2url/claims/version":"v1.0"
"wso2url/claims/tier":"Silver"
"wso2url/claims/keytype":"PRODUCTION"
"wso2url/claims/usertype":"APPLICATION"
"wso2url/claims/enduser":"Sjaak@carbon.super"
"wso2url/claims/enduserTenantId":"-1234"
"wso2url/claims/emailaddress":"sjakie@chocola.nl"
"wso2url/claims/givenname":"Sjakie"
"wso2url/claims/lastname":"van de Chocoladefabriek"
"wso2url/claims/role":"Internal/subscriber
Internal/everyone
Application/Sjaak_DefaultApplication_PRODUCTION"}

wso2url是http://wso2.org ,但是我们不能发布它,因为我没有10个声誉点... :(

这些声明中的信息很好,但是只有我们想要使用我们自己的uri,所以不是wso2.org,而是myorg.com。 我们想添加其他声明,例如我们自己的userId和其他内容。

除其他事项外,我们遵循了为服务提供商配置声明的指南,但没有成功。 我们已经假设应用程序是可以为其使用声明的服务提供者。

有谁知道我们在做什么错? 要添加自定义声明,我们需要做什么?

提前致谢!

[5月9日添加]也许这可以为我们指明正确的方向? 当我们向应用程序添加订阅并生成新密钥时,列表中没有新的服务提供者: 用户Sjaak没有新服务提供者的服务提供者列表,因此缺少:Sjaak_CalculatorApp_PRODUCTION

但是,即使我们为用户管理员执行此操作,声明也不会通过。 我们具有以下索赔配置,在我的日志记录中,仍然存在与上述相同的索赔,没有新的索赔,因此没有名为accountnaam的索赔,也没有voogd.com uri:

服务提供商(SP)-它为某些最终用户提供服务,并依靠受信任的身份提供商(IDP)为他们处理身份验证和授权。 SP可以使用多种协议(Oauth2,SAML2等)与IDP通信。

为SP定义了声明,因为相同的声明可以通过不同的协议发送。 在默认情况下,身份服务器使用wso2声明方言(以wos2.com开头)进行声明。 如果您想要与此不同的声明方言,请在服务提供商配置中使用“定义自定义声明方言”选项。 在这里,您可以将wso2声明(本地声明)映射到您自己的声明(服务提供商声明)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM