AzureAD IDP启动的SAML始终返回nameid-format:persistent而不是nameid-format:emailAddress

问题描述 投票:0回答:1

我正在使用SAML开发SSO,而我的IdP是Azure。

我在IDP启动流程方面遇到问题。在SAML响应中,我总是得到此NameID:

<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
    bMFy2VsLxPyxxxxxx.....
</NameID>

这是我期望的:

<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
    [email protected]
</NameID>

我总是得到nameid-format:persistent而不是nameid-format:emailAddress。尽管我已将“名称标识符格式”设置为“电子邮件地址”:

enter image description here

注意,在SP发起的流程上,我可以通过指定NameIDPolicy来让Azure发送电子邮件地址:

<samlp:AuthnRequest
        Destination="xxx"
        ID="_f59f9e55bc165eae92e4269909e274aeb78f88f3" 
        IssueInstant="2020-03-04T10:49:51Z" Version="2.0"
        xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
        xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
  <saml:Issuer>xxxxxxx</saml:Issuer>
  <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"/>
</samlp:AuthnRequest>

但是,在IdP发起的流程上,AuthnRequest没有NameIDPolicy

<samlp:AuthnRequest xmlns="urn:oasis:names:tc:SAML:2.0:metadata" 
                    ID="F84D888AA3B44C1B844375A4E8210D9E" Version="2.0"
                    IssueInstant="2020-03-04T10:03:47.953Z" IsPassive="false"
                    AssertionConsumerServiceURL="xxxxxx"
                    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
                    ForceAuthn="false">
  <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">xxxxxx</Issuer>
</samlp:AuthnRequest>

我想知道我的Azure应用程序配置是否不正确。

通过有关IdP发起流的方式,我认为IdP将创建SAML响应并直接发送到SP的ACS端点。为什么仍然存在SAML请求? (在Azure上测试应用程序时,我会看到下载SAML请求的选项)。从应用程序面板(office.com)打开应用程序时,我也可以看到SAML请求。 (使用chrome扩展名saml-chrome-panel)

enter image description here

azure azure-active-directory saml saml-2.0 idp
1个回答
0
投票

尝试在NameIDPolicy中使用IdP发起的流程

<samlp:AuthnRequest
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
ID="id6c1c178c166d486687be4aaf5e482730"
Version="2.0" IssueInstant="2013-03-18T03:28:54.1839884Z"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://www.contoso.com</Issuer>
<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">
  </samlp:NameIDPolicy>
</samlp:AuthnRequest>

有关更多详细信息,您可以参考此article(翻译成英文)。

© www.soinside.com 2019 - 2024. All rights reserved.