Asp.Net MVC 5 Owin Twitter Auth抛出401例外

Mik*_*art 39 twitter oauth twitter-oauth

我使用Owin中间件设置了OAuth身份验证,该中间件基于使用"个人帐户"身份验证启动新Web项目时创建的默认项目.

我稍微调整了一下,但是Facebook和Google工作得很好,但是,当我点击"twitter"按钮发出挑战时,它会抛出500个http异常,并显示错误消息:

响应状态代码不表示成功:401(未授权).

这只是推特.这是我的auth配置:

// 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();
Run Code Online (Sandbox Code Playgroud)

这绝对是一个500错误,而不是401错误,因为它表明我已经确认它永远不会让它通过Twitter的原始帖子挑战.堆栈跟踪似乎显示Twitter未从ObtainRequestToken调用返回成功代码:

堆栈跟踪

有任何想法吗?

Pat*_*ins 71

您需要进入Twitter Dev App并添加网站地址.我知道这看起来很傻但这会解决你的问题.

  1. https://apps.twitter.com/
  2. 转到"设置"选项卡
  3. 将CallBack URL设置为任何网站.即使它不是真的.

这应该可以解决你的问题.

  • 可选字段,不是可选字段.哈哈! (8认同)
  • 仅供参考设置网址后,大约需要5分钟才能生效.我浪费了一天的时间. (4认同)