2016-08-17 3 views
0

WSO2 IS 5.0 возвратил ответ SAML со всеми ролями в одном атрибуте AttributeValue как список, разделенный запятой. Теперь WSO2 IS 5.1 возвращает все роли как собственные атрибуты AttributeValue.WSOIS 5.1 ролей как список, разделенный запятой

Возможно ли получить 5.1, чтобы возвращать роли в виде списка, разделенного запятой, в одном атрибуте AttributeValue?

ответ

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, если вы хотите, чтобы получить такое же поведение, что получение всех ролей вместе, вы должны добавить следующее свойство к конкретной конфигурации userstore. (две запятые).

<Property name="MultiAttributeSeparator">,,</Property> 

Если это первичный пользовательский магазин, вы можете добавить его в файл user-mgt.xml. Если это вторичный пользовательский магазин, вы можете добавить это свойство в конкретный файл конфигурации в репозиторий/развертывание/сервер/пользовательские магазины/местоположение.

Я объяснил это в сообщении в блоге [1].

[1] http://tharindue.blogspot.com/2016/09/saml-multi-valued-attributes-in-wso2.html

+0

Благодарим за отличный ответ. Это решило мою проблему :) –

Смежные вопросы