我使用Owin中间件设置了OAuth身份验证,该中间件基于使用“个人帐户”身份验证启动新Web项目时创建的默认项目。
我稍微调整了一下,但是Facebook和Google工作得很好,但是,当我点击“twitter”按钮发出挑战时,它会抛出500个http异常,并显示错误消息:
响应状态代码不表示成功:401(未授权)。
这只是推特。这是我的身份验证配置:
// Just a configuration section that reads from the web.config
var configuration = new OwinCookieConfigurationSection("owinCookieConfiguration");
app.UseCookieAuthentication(GetCookieAuthenticationOptions(configuration));
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseTwitterAuthentication(
consumerKey: "XXX",
consumerSecret: "XXX"
);
app.UseFacebookAuthentication(
appId: "XXX",
appSecret: "XXX"
);
app.UseGoogleAuthentication();
这肯定是一个500错误,而不是401错误,因为它表明我已经确认它永远不会让它通过Twitter的原始帖子挑战。堆栈跟踪似乎显示Twitter未从ObtainRequestToken调用返回成功代码:
有什么想法吗?
答案 0 :(得分:71)
您需要进入Twitter Dev App并添加网站地址。我知道这看起来很傻但这可以解决你的问题。
这可以解决你的问题。
答案 1 :(得分:2)
我像帕特里克1年前描述的那样解决了我的问题。今天我又遇到了同样的问题,但这次我发现问题是由于我的电脑中的日期/时间设置造成的。 由于此计算机中的日期/时间通常不同步,因此我必须转到“更改日期和时间设置” - > “互联网时间”选项卡并启用互联网同步。