сопоставление имен атрибутов oid с понятными именами в onelogin - PullRequest
1 голос
/ 15 апреля 2020

Я использую Symfony в php с этим комплектом: https://github.com/hslavich/OneloginSamlBundle

Использует инструментарий onelogin php -saml: https://github.com/onelogin/php-saml

Мой IDP при аутентификации возвращает атрибуты, которые необходимо сопоставить с oid на понятное имя

        <saml:AttributeStatement>
            <saml:Attribute Name="urn:oid:0.9.2342.19200300.100.1.1"
                NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
                <saml:AttributeValue xsi:type="xs:string">58690</saml:AttributeValue>
            </saml:Attribute>
            <saml:Attribute Name="urn:oid:1.2.840.113549.1.9.1"
                NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
                <saml:AttributeValue xsi:type="xs:string">mytestemail@gmail.com</saml:AttributeValue>
        </saml:AttributeStatement>

Это прекрасно работает, если я использую имя oid в конфигурации symfony bundles и У меня нет дружеских имен. Однако я хочу сопоставить их с UID и электронной почтой. Я использовал simplesaml php, и он предоставлен как класс для отображения этих значений, но не нашел аналогичных в onelogin php -saml, поэтому я думаю, что мне нужно вручную отобразить их.

Я думал, что мне нужно указать служба поддержки атрибутов, но это ничего не изменило

## ...
sp:
        entityId: 'http://test.local/saml/metadata'
        assertionConsumerService:
            url: 'http://test.local/saml/acs'
            binding: 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST'
        attributeConsumingService:
            serviceName: 'SP test'
            serviceDescription: 'Test Service'
            requestedAttributes:
                - name: 'urn:oid:0.9.2342.19200300.100.1.1'
                  isRequired: true
                  friendlyName: 'uid'
                - name: 'urn:oid:1.2.840.113549.1.9.1'
                  isRequired: true
                  friendlyName: 'email'
## etc...

Кто-нибудь знает, как это сделать в onelogin / в плагине? Я на правильном пути по отношению к onelogin хотя бы?

1 Ответ

0 голосов
/ 16 апреля 2020

Я обнаружил, что понятные имена, на которые ссылается onelogin, относятся к возможному полю в атрибутах, возвращаемых IDP, которые вы затем можете использовать.

Мой IDP не делает этого, поэтому я должен сопоставить атрибуты.

Отображение oid в / из имен ldap является функцией simplesaml php.

В onelogin не предоставляется сопоставление атрибутов, но, конечно, это можно сделать в вашем собственном коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...