我已经使用基于Owin中间件的OAuth身份验证设置了身份验证,基于使用“个人帐户”身份验证启动新Web项目时创建的默认项目。
我稍微调整了一下,但Facebook和Google都很好用,但是当我点击“Twitter”按钮发出挑战时,它会抛出500 http异常,并显示错误消息:
响应状态代码未表明成功:401(未经授权)。
这只在Twitter上出现。以下是我的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();
这绝对是一个500错误,而不是401错误所指示的那样,并且我已确认它从未通过最初的发送Twitter请求的挑战。堆栈跟踪似乎显示Twitter没有从ObtainRequestToken调用中返回成功代码:
有什么想法吗?