переназначение NameID в поставщике услуг на атрибут Alias ​​из поставщика удостоверений office365 - PullRequest
0 голосов
/ 01 мая 2019

Я устанавливаю wso2 между office365 и приложением справочной службы, которое использует SAML 2 для аутентификации. приложение ожидает, что имя пользователя в провайдерах идентификации NameID.wso2is отправляет идентичный guid идентификатор в поле NameID вместо поля псевдонима, которое мне нужно в моем приложении.

Я уже выполнил все шаги из этого документа https://github.com/wso2-extensions/identity-outbound-auth-office365/blob/v1.0.4/docs/config.md в дополнение к определению утверждения Alias, а затем в сервис-провайдере добавил настраиваемое сопоставление для NameID с псевдонимом и указанным URI для утверждения NameID

    <saml2:Subject>
        <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">0cccccc-444444-45553-1111-92387492387@23423423-sdfs-3333-5555-222222222</saml2:NameID>


    <saml2:AttributeStatement>

        <saml2:Attribute Name="Alias"
                         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"
                                  >j.smith</saml2:AttributeValue>
        </saml2:Attribute>
        <saml2:Attribute Name="DisplayName"
                         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"
                                  >John Smith</saml2:AttributeValue>
        </saml2:Attribute>

        <saml2:Attribute Name="Id"
                         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"
                                  >0cccccc-444444-45553-1111-92387492387@23423423-sdfs-3333-5555-222222222</saml2:AttributeValue>
        </saml2:Attribute>
        <saml2:Attribute Name="@odata.context"
                         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"
                                  >https://outlook.office365.com/api/v2.0/$metadata#Me</saml2:AttributeValue>
        </saml2:Attribute>
        <saml2:Attribute Name="EmailAddress"
                         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"
                                  >a@b.com</saml2:AttributeValue>
        </saml2:Attribute>
    </saml2:AttributeStatement>
</saml2:Assertion>

Мне нужно, чтобы NameID был NameID, чтобы быть j.smith из атрибута псевдонима

j.smith

1 Ответ

0 голосов
/ 01 мая 2019

Просто выберите требуемую заявку для Subject Claim URI в конфигурациях заявки поставщика услуг. URI Subject Claim определяет аутентифицированный идентификатор пользователя, который будет возвращен с ответом аутентификации поставщику услуг. Это будет возвращено как NameID в ответе SAML.

Вы можете обратиться к этому документу для получения дополнительной информации о конфигурации претензии поставщика услуг .

...