在我的回调 GetExternalLoginAsync 中,返回值始终为 null。所以我将 ILogger 添加到 SP 选项中,并且能够看到 Sustainsys.Saml2.Exceptions.InvalidSignatureException:签名算法http://www.w3.org/2001/04/xmldsig-more#rsa-sha256比最低接受http://www.w3.org/2000/09/xmldsig#rsa-sha1。如果要允许此签名算法,请使用 minIncomingSigningAlgorithm 配置属性。被抛出。
我按照建议添加了 minIncomingSigningAlgorithm="SHA256" 但是现在我遇到了黄屏错误。
问题发生在 Windows 2008 R2 服务器上。它在我们所有其他服务器上运行良好,所以我假设它与操作系统有关。
我最近在此框中安装了 .NET 4.6.1。
var loginInfo = await HttpContext.GetOwinContext().Authentication.GetExternalLoginInfoAsync(); //always null