Owin的SAML2-无法进行身份验证

时间:2018-12-26 11:20:23

标签: sustainsys-saml2

我有Owin的示例WebForms应用程序。试图通过Azure AD IdP进行SAML2身份验证。它工作正常,用户已在应用程序中注册并通过了身份验证。

现在我需要使用其他IdP。所以我改变了我的申请,什么也没有。 Saml的回应包含成功,因此IdP对我进行了身份验证。但是调用Context.GetOwinContext()。Authentication.GetExternalLoginInfo()会返回null。

我找到了一些有关“外部cookie”的帖子,但是我不认为这是我的问题,因为Azure示例工作正常。切换到其他IdP失败。

似乎只有SAML Xml格式不同。 Azure返回为

plot_trisurf

但其他IdP返回为

path=%path%;<python executable path>

但是命名空间应该可以。

因此它必须在SAML响应中?如何找到问题?

<samlp:Response Destination="https://localhost:44390/Saml2/Acs"
  ID="_5eaccd77-fa78-4f59-86d9-67049ef074ce" InResponseTo="id73419322f1cc440184f456548cee7d09"
  IssueInstant="2018-12-21T15:00:58.248Z" Version="2.0"
  xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
</samlp:Response>

1 个答案:

答案 0 :(得分:1)

  

Sustainsys.Saml2.Exceptions.InvalidSignatureException:已使用签名中包含的密钥正确验证了签名,但是该密钥不受信任。

这意味着签名是正确的,但是您尚未将签名密钥配置为受信任。

您需要将带有idp公钥的证书添加到IdentityProvider.SigningKeys集合中。

相关问题