Active directory ADFS idpinitiatedsignon SAML断言未签名

Active directory ADFS idpinitiatedsignon SAML断言未签名,active-directory,adfs,adfs3.0,Active Directory,Adfs,Adfs3.0,我正试图通过https:///adfs/ls/idpinitiatedsignon使用网络视图。问题是SAMLResponse断言没有签名,并且签名没有包含在断言中 因此,我无法验证SAML断言。我们已经为ADFS配置了ADFS签名证书,因为它是由IDP发起的流 我们还在ADFS中设置以下属性: SamlResponseSignature=assertionononly <samlp:Response ID="_255ada50-94a5-493a-9234-0e9801f0a994" V

我正试图通过
https:///adfs/ls/idpinitiatedsignon
使用网络视图。问题是SAMLResponse断言没有签名,并且签名没有包含在断言中

因此,我无法验证SAML断言。我们已经为ADFS配置了ADFS签名证书,因为它是由IDP发起的流

我们还在ADFS中设置以下属性:
SamlResponseSignature=assertionononly

<samlp:Response ID="_255ada50-94a5-493a-9234-0e9801f0a994" Version="2.0" IssueInstant="2020-03-09T13:27:11.297Z" Destination="https://mobile_app/login" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" 
  xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
  <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://adfs_domain/adfs/services/trust</Issuer>
  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
  </samlp:Status>
  <Assertion ID="_0d711b58-e28a-4315-976d-5a4ec6abb3ab" IssueInstant="2020-03-09T13:27:11.297Z" Version="2.0" 
    xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
    <Issuer>http://adfs_domain/adfs/services/trust</Issuer>
    <Subject>
      <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">test_user@domain.com</NameID>
      <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <SubjectConfirmationData NotOnOrAfter="2020-03-09T13:32:11.297Z" Recipient="https://mobile_app/login" />
      </SubjectConfirmation>
    </Subject>
    <Conditions NotBefore="2020-03-09T13:27:11.297Z" NotOnOrAfter="2020-03-09T14:27:11.297Z">
      <AudienceRestriction>
        <Audience>https://doamin/mobile/platform/sso/exchange-token</Audience>
      </AudienceRestriction>
    </Conditions>
    <AttributeStatement>
      <Attribute Name="http://schemas.xmlsoap.org/claims/CommonName">
        <AttributeValue>test_user@domain.com</AttributeValue>
      </Attribute>
      <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress">
        <AttributeValue>test_user@domain.com</AttributeValue>
      </Attribute>
      <Attribute Name="http://schemas.xmlsoap.org/claims/Group">
        <AttributeValue>Domain Users</AttributeValue>
      </Attribute>
    </AttributeStatement>
    <AuthnStatement AuthnInstant="2020-03-09T13:27:11.155Z" SessionIndex="_0d711b58-e28a-4315-976d-5a4ec6abb3ab">
      <AuthnContext>
        <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef>
      </AuthnContext>
    </AuthnStatement>
  </Assertion>
</samlp:Response>

http://adfs_domain/adfs/services/trust
http://adfs_domain/adfs/services/trust
试验_user@domain.com
https://doamin/mobile/platform/sso/exchange-token
试验_user@domain.com
试验_user@domain.com
域用户
urn:oasis:name:tc:SAML:2.0:ac:classes:PasswordProtectedTransport

我非常怀疑您得到的是未签名的断言。无论您是否提供证书以允许AD FS验证应用程序发送给AD FS的任何已签名请求,您都应该始终使用AD FS服务器的令牌签名证书获得已签名的令牌

您应该在发布于的联合元数据中看到证书的详细信息。您可以使用以更方便地查看已发布的详细信息


您可以通过使用以下内容测试AD FS返回的有效负载。然后,您可以发送SAML登录,该登录将使用idp启动的流,您将看到AD FS返回的原始有效负载。然后,您可以根据需要切换SamlResponseSignature,并查看返回的令牌。

看起来它需要一个已签名的SAML请求,即使据我所知,它在任何地方都没有记录,但我可能是错的。您好@KALALEX,您找到解决方案了吗?在我的例子中,请求是有签名的,但断言不是!