问题 DotNetOpenAuth和Facebook


我正在尝试使用DotNetOpenAuth进行一些网络单点登录功能。

我得到的样本适用于谷歌和雅虎,但我正在与Facebook斗争。

我正在使用CTP(4.0.0.11165),并按照示例进行操作 这个问题

但是,我在行上遇到运行时错误:

IAuthorizationState authorization = client.ProcessUserAuthorization();

错误是:

无法获取访问令牌。授权服务器报告原因:(未知)

有任何想法吗?


6916
2017-07-12 15:07


起源



答案:


您正在使用的构建与Facebook不兼容,因为Facebook使用旧版本的OAuth 2.0。您必须使用较早的CTP(具有v3.5版本的CTP)才能使用Facebook。抱歉。当每个人都处于不完整规范的不同草案时,它很难使用OAuth 2.0。


13
2017-07-13 04:56



我下载了ctp并且在那里找不到fb的样本?我有主分支,它确实。但你说他们不会工作。我应该期望在ctp中看到fb的样本吗? - iwayneo
另外,如果我使用这个ctp版本,我会发现自己处于一个陌生的地方吗?是否计划在某些时候与其他人保持一致? - iwayneo
我不能代表Facebook,但我只能想象他们将在(最终)最终确定后采用OAuth 2.0的最终版本。与FB互操作的早期版本的DNOA CTP确实包含了facebook样本,是的。 - Andrew Arnott
下载中的那个没有: sourceforge.net/projects/dnoa/files/releases/v3.4/v3.4.7/... - iwayneo
DNOA 4.0.0也很老了。我不记得这是否适用于Facebook。但最新版本应该有效(4.2.2,IIRC) - Andrew Arnott


答案:


您正在使用的构建与Facebook不兼容,因为Facebook使用旧版本的OAuth 2.0。您必须使用较早的CTP(具有v3.5版本的CTP)才能使用Facebook。抱歉。当每个人都处于不完整规范的不同草案时,它很难使用OAuth 2.0。


13
2017-07-13 04:56



我下载了ctp并且在那里找不到fb的样本?我有主分支,它确实。但你说他们不会工作。我应该期望在ctp中看到fb的样本吗? - iwayneo
另外,如果我使用这个ctp版本,我会发现自己处于一个陌生的地方吗?是否计划在某些时候与其他人保持一致? - iwayneo
我不能代表Facebook,但我只能想象他们将在(最终)最终确定后采用OAuth 2.0的最终版本。与FB互操作的早期版本的DNOA CTP确实包含了facebook样本,是的。 - Andrew Arnott
下载中的那个没有: sourceforge.net/projects/dnoa/files/releases/v3.4/v3.4.7/... - iwayneo
DNOA 4.0.0也很老了。我不记得这是否适用于Facebook。但最新版本应该有效(4.2.2,IIRC) - Andrew Arnott


我在使用时遇到了类似的问题 https://github.com/baio/open-mvc 。

我通过从open-mvc repo下载的DotNetOpenAuth版本3.5.0.10357再次构建最新CTP(4.0.0.11165)的DotNetOpenAuth.ApplicationBlock项目解决了这个问题。

它适用于Facebook。

我还在为其他IDP测试它


0
2018-01-20 11:59





我想你需要补充一下

client.ClientCredentialApplicator = ClientCredentialApplicator.PostParameter("App_Secret");

0
2018-06-30 19:04