Twitter Asp.NETMVC5OWIN推特身份验证引发401异常

Twitter Asp.NETMVC5OWIN推特身份验证引发401异常,twitter,oauth,twitter-oauth,Twitter,Oauth,Twitter Oauth,我已经使用Owin中间件设置了OAuth身份验证,该中间件基于使用“个人帐户”身份验证启动新Web项目时创建的默认项目 我对它做了一些调整,但是Facebook和Google的工作非常好,然而,当我点击“twitter”按钮发出挑战时,它抛出了一个500 http异常,并显示错误消息: 响应状态代码不表示成功:401(未经授权) 这只是推特带来的。这是我的身份验证配置: // Just a configuration section that reads from the web.config

我已经使用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没有从AcquinRequestToken调用返回成功代码:


有什么想法吗?

你需要进入Twitter开发应用程序并添加一个网址。我知道这看起来很傻,但这会解决你的问题

  • 转到“设置”选项卡
  • 设置任何网站的回调URL。即使它不是真的

  • 这应该能解决你的问题。

    我用帕特里克一年前描述的方式解决了我的问题。今天我再次遇到同样的问题,但这次我发现问题是由我的计算机中的日期/时间设置引起的。
    由于此计算机中的日期/时间通常不同步,我必须转到“更改日期和时间设置”->“Internet时间”选项卡并启用Internet同步。

    一个非可选的可选字段。哈哈!仅供参考,设置url后大约需要5分钟才能生效。我在这上面浪费了一天。谢谢你不让我在这上面浪费一天!并确保apps.twitter设置页面中的“启用回调锁定”为false,否则动态回调仍将关闭