WSO2 IS 5.0以单个AttributeValue中的所有角色作为逗号分隔列表返回SAML响应。现在,WSO2 IS 5.1将所有角色作为自己的AttributeValue返回。
是否有可能在单个AttributeValue中将5.1作为逗号分隔列表返回角色?
答案 0 :(得分:0)
是的,这是可能的。
在Identity Server 5.1.0中,它在SAML响应中单独返回每个角色,如下所示。
<saml2:Attribute Name="http://wso2.org/claims/role"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"
>
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string"
>admin</saml2:AttributeValue>
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string"
>Internal/everyone</saml2:AttributeValue>
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string"
>role2</saml2:AttributeValue>
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string"
>role1</saml2:AttributeValue>
</saml2:Attribute>
但是,在IS 5.0.0中,它将角色作为逗号分隔值返回到单个属性中,如下所示。
<saml2:Attribute Name="http://wso2.org/claims/role"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"
>
<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xs:string"
>admin,Internal/everyone,role2,role1</saml2:AttributeValue>
</saml2:Attribute>
在IS 5.1.0中,如果要获得同时检索所有角色的相同行为,则必须将以下属性添加到特定用户界面配置。 (两个逗号)。
<Property name="MultiAttributeSeparator">,,</Property>
如果是主要用户,可以将其添加到user-mgt.xml文件中。如果它是辅助用户,则可以将此属性添加到repository / deployment / server / userstores / location中的特定配置文件。
我已经在博文[1]中解释了这一点。
[1] http://tharindue.blogspot.com/2016/09/saml-multi-valued-attributes-in-wso2.html