在我的回调GetExternalLoginAsync中,返回值始终为空。因此,我将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“,但是现在我得到了一个黄屏错误。
此问题发生在Windows2008 R2服务器上。它在我们所有的其他服务器上都工作得很好,所以我认为它与操作系统有关。
我最近在这个盒子里安装了.NET 4.6.1。
var loginInfo = await HttpContext.GetOwinContext().Authentication.GetExternalLoginInfoAsync(); //always null
发布于 2020-02-24 04:41:12
windows服务器似乎与SHA-256不兼容。在证书上尝试SHA-16,它起作用了。我并不是建议使用SHA-16,因为这是一种非常不安全的加密方法,不应该使用,但我只是强调在我们非常旧的操作系统上工作的是什么。
https://stackoverflow.com/questions/57272150
复制