我在生产环境中使用 Facebook 进行社交登录已经有一段时间了。从今天早上开始,它不再对我有用。我在开发(没有 SSL)和在 Azure 网站上托管并使用 SSL 的生产中遇到同样的错误。
这是我看到的错误:
[WebException:请求被中止:无法创建 SSL/TLS 安全通道。]
System.Net.WebClient.DownloadDataInternal(Uri地址,WebRequest&请求)+283
System.Net.WebClient.DownloadString(Uri 地址) +100
DotNetOpenAuth.AspNet.Clients.FacebookClient.QueryAccessToken(Uri returnUrl, String authorizationCode) +350
DotNetOpenAuth.AspNet.Clients.OAuth2Client.VerifyAuthentication(HttpContextBase 上下文,Uri returnPageUrl)+202
DotNetOpenAuth.AspNet.OpenAuthSecurityManager.VerifyAuthentication(String returnUrl) +411
Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthenticationCore(HttpContextBase 上下文,字符串 returnUrl)+189
Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthentication(String returnUrl) +139
还有其他人看到了吗?我的 Google 登录继续正常工作。
最佳答案
正如 Igy 所说,这是由于 Facebook 由于 POODLE 漏洞而禁用了 SSLv3。
我在连接到 Twitter 的应用程序上遇到了同样的事情。我通过添加这行代码来使用 TLS 来修复它。我不确定这是最好的解决方案,但它现在有效。
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
编辑:忘记提及这一点,但我将该行添加到 global.asax 的 Application_Start
关于c# - 无法为 Facebook 创建 SSL/TLS 安全通道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26388615/