Да, это возможно.
В 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, если вы хотите, чтобы получить такое же поведение, что получение всех ролей вместе, вы должны добавить следующее свойство к конкретной конфигурации userstore. (две запятые).
<Property name="MultiAttributeSeparator">,,</Property>
Если это первичный пользовательский магазин, вы можете добавить его в файл user-mgt.xml. Если это вторичный пользовательский магазин, вы можете добавить это свойство в конкретный файл конфигурации в репозиторий/развертывание/сервер/пользовательские магазины/местоположение.
Я объяснил это в сообщении в блоге [1].
[1] http://tharindue.blogspot.com/2016/09/saml-multi-valued-attributes-in-wso2.html
Благодарим за отличный ответ. Это решило мою проблему :) –