本文介绍了WSO2 Identity Server-无法使用服务提供商的声明配置中定义的方言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用管理控制台Configure-> Claim Management创建了自己的方言。完成此操作后,我想将我的服务提供商配置为与这些声明相关联,因此我编辑了SP并转到声明配置部分。我遇到的问题是显示的唯一本地声明声明是默认的wso2声明。因此,您只会看到以开头的内容。

I created my own dialect using the manaement console Configure-->Claim Management. After doing this, I wanted to configure my Service Provider to be associated with these claims, so I edited my SP and went to the Claim Configuration section. The issue I am running into is the only Local Claim claims which show up are the default wso2 ones. So you only ever see ones starting with http://wso2.org/claims/.

话虽如此,我认为选择定义自定义方言并不适合,因为我已经定义了方言。回到默认的方言地图将是零意义,所以我假设这不是路线。

With that said, I don't believe choosing Define Custom Claim Dialect is an appropriate alternative since I defined a dialect already. It would make zero sense to go an map that back to the default dialect, so I'm assuming this would not be the route.

是否有一些配置设置要列出其他定义的方言的值?除了我创建的那个之外,OOB还有很多东西。这是一个错误吗?我会假设我的方言和其他所有OOB一样,都是Local Claim方言。

Is there some configuration setting to list values from other defined dialects? Besides the one I created, there a quite a few that come OOB anyway. Is this a bug? I would assume my dialect along with all the other OOB ones would be Local Claim Dialects.

文档中的Claims Management只是一般的辨别方法,是否存在一些有趣的地方需求。

The Claims Management in the docs is just way to general to discern is there's some funny requirement. https://docs.wso2.com/display/IS500/Claim+Management

WSO2 Identity Server 5.0.0

WSO2 Identity Server 5.0.0

推荐答案

我创建了一种解决方法,这适用于我的情况。

I created a workaround, which works for my situation.

再次,这是IS 5.0.0。在我的情况下,没有预配置的声明或方言可以满足我的需要,而我只希望定义自己的特殊URI。

Once again, this is with IS 5.0.0. In my situation, no claims or dialects preconfigured fit my needs and I want my own special URIs defined ONLY.

所以这是我所做的:


  1. 在管理控制台中,转到配置->索赔管理。

  2. 编辑了 方言。

  3. 在此方言中添加了我想要的每个声明。即使方言具有不同的URI(那是 事情!),我仍然可以输入自己喜欢的URI。我想要与之关联的名称。例如,

  4. 然后我去通过编辑其声明配置来配置要与特定服务提供商进行通信的声明/属性...

  5. 选择使用本地方言。

  6. 对于我要添加的每个声明,在请求声明处单击添加声明URI,然后选择我创建的URI。

  7. (可选)我删除了 中的所有非自定义URI。方言,因为我在自定义用户存储中发现getUserPropertyValues()仍在传递每个要解决的声明属性。它试图在每次登录时解析20多个属性。一些性能帮助! :)

  1. In the Management Console, went to Configure-->Claim Management.
  2. Edited the "http://wso2.org/claims" dialect.
  3. Added each claim I wanted to this dialect. I was able to enter whatever URI I pleased, even though the dialect had a different URI (that's a good thing!) along with the property name I wanted it associated with. e.g., http://example.com/claims/claimname1
  4. Then I went to configure the claims / attributes I wanted to be communicated to a particular Service Provider by editing its Claim Configuration...
  5. Selected "Use Local Dialect".
  6. For each claim I wanted to add, clicked "Add Claim URI" at "Request Claims", and selected a URI I created.
  7. (OPTIONAL) I deleted all non-custom URIs in the "http://wso2.org/claims" dialect, because I found in my custom user store that getUserPropertyValues() was still getting passed every single claim attribute to resolve. It was trying to resolve more than 20 properties at every login. Some performance help! :)

这篇关于WSO2 Identity Server-无法使用服务提供商的声明配置中定义的方言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 06:55