c# – 突然,DotNetOpenAuth返回(400)错误请求

我的应用程序已部署近6个月,最新版本大约在3周前发布.

突然,今天Facebook Auth停止了工作.未更改或重新部署webapp,并且未更改Facebook应用程序设置.

使用Twitter进行身份验证仍然可行.

这是例外:

DotNetopenAuth.Messaging.ProtocolException: Error occurred while sending a direct message or getting the response. ---> System.Net.WebException: The Remote Server returned an error: (400) Bad Request.
   at System.Net.HttpWebRequest.GetResponse()
   at DotNetopenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request,DirectWebRequestOptions options)
   --- End of inner exception stack trace ---
   at DotNetopenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request,DirectWebRequestOptions options)
   at DotNetopenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request)
   at DotNetopenAuth.Messaging.Channel.GetDirectResponse(HttpWebRequest webRequest)
   at DotNetopenAuth.Messaging.Channel.RequestCore(IDirectedProtocolMessage request)
   at DotNetopenAuth.Messaging.Channel.Request(IDirectedProtocolMessage requestMessage)
   at DotNetopenAuth.OAuth2.ClientBase.UpdateAuthorizationWithResponse(IAuthorizationState authorizationState,EndUserAuthorizationSuccessAuthCodeResponse authorizationSuccess)
   at DotNetopenAuth.OAuth2.WebServerClient.ProcessUserAuthorization(HttpRequestInfo request)

知道会发生什么吗?我在Facebook的网站上看不到任何关于当前破坏变更或服务质量下降的信息.

解决方法

很可能Facebook最终升级了他们的OAuth 2.0支持,以符合最新的OAuth 2.0规范草案,该草案与您正在使用的DotNetopenAuth版本不兼容.尝试下载最新的DotNetopenAuth CTP,看看它是否有帮助.

也就是说,从来没有保证与Facebook或任何其他OAuth 2.0服务器之类的互操作性. OAuth 2.0不是最终规范,因此互操作性问题几乎是一种保证.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...