Как получить атрибуты ответа saml, отправленного Azure Active Directory? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть ответ saml, который дает мне активный каталог Azure при выполнении процесса с помощью saml 2.0, весь процесс выполняется нормально, я отправляю запрос saml, и активный каталог Azure возвращает ответ saml, чтобы выполнить весь процесс.Основываясь на этом руководстве , я немного прочитал и заметил, что Azure AD в ответе saml отправляет значения в этом теге:

<xenc:CipherData>
<xenc:CipherValue>VALUE HERE</xenc:CipherValue
</xenc:CipherData>

А не внутри:

<AttributeStatement><Attribute Name="IDPEmail"><AttributeValue>administrator@contoso.com</AttributeValue></Attribute></AttributeStatement>

, как указано в документации .Вопрос в том, как получить истинные значения, которые отправляет мне активный каталог Azure, а не эти закодированные значения. Я использую Python 3 и Google App Engine, в дополнение к упоминанию активного каталога Azure и saml 2.0 для процесса входа в систему,Я оставляю ответ SAML в этом url на тот случай, если он поможет лучше понять мой вопрос.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Как упоминалось выше, ответ SAML, который вы получаете, зашифрован.В частности, Azure шифрует свои утверждения (включая те, которые вы ищете) в зашифрованном теле, называемом CipherData.

. У вас есть два варианта: 1 - отключить шифрование ответов SAML.Azure AD называет шифрование ответа SAML SAML token encryption, что немного сбивает с толку.Вы можете следовать этому руководству , чтобы отключить ответ.Вы должны были загрузить открытый ключ / сертификат шифрования.

2 - Настройте поставщика услуг на поддержку зашифрованных ответов SAML.

0 голосов
/ 10 февраля 2019

Маркер SAML зашифрован.

Для этого необходимо получить сертификат клиентской стороны и использовать его для его расшифровки.

...