Ben*_*iFB 10 asp.net owin asp.net-identity
我安装了昨天发布的VS2013最终位,我正试图在我启用外部Facebook登录的地方工作.我的第一个问题:
在这个控制器代码中(我没有触摸并保留原样来自示例模板):
//
// GET: /Account/ExternalLoginCallback
[AllowAnonymous]
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
Run Code Online (Sandbox Code Playgroud)
我在行上设置断点等待AuthenticationManager.GetExternalLoginInfoAsync().代码返回(在我登录Facebook之后),"loginInfo"为null.在UI中,继续显示登录页面,不做任何更改.我该怎么调试呢?我试图找到GetExternalLoginInfoAsync()内部的代码,但根据这个线程:
Asp.Net Identity RTM版本中的Microsoft.AspNet.Identity.Owin.AuthenticationManager在哪里?
AuthenticationManager现在已经不存在了.(上面似乎并非如此.)
我的第二个问题:是否有其他人能够使用Facebook登录而不更改ASP.NET MVC5示例代码(除了取消注释app.UseFacebookAuthentication并填写您的FB应用程序详细信息)?(您必须使用Facebook配置别名主机,例如"localtest.me",并使用IIS express配置它.)
谢谢你的帮助...
-ben
小智 14
我在向Google(OpenID,而非OAuth)进行身份验证时遇到此问题.所以真的没有什么可以搞砸了,但是在一些简单的代码改变会话变量之后肯定会停止工作.使用提琴手我确定谷歌确实正在返回有效信息.
比我聪明的人想出了我的问题并在此处描述了修复.
ASP.NET_SessionId + OWIN Cookies不会发送到浏览器
我所要做的只是添加Session["salt"] = "salt";到帐户/登录控制器,并且中提琴神奇地开始完美地工作.不确定这是否是你的确切问题,但这是我的.
好吧,这对我来说很愚蠢。首先,我开始使用 Fiddler 进行调试,并看到 Facebook 发回了以下内容:
WWW-Authenticate:OAuth“Facebook Platform”“invalid_request”“请求无效,因为应用程序密钥与客户端令牌相同”
此消息不准确,但在搜索它时,我发现了另一个线程,其中用户指定重置应用程序密钥解决了问题。(我已经很长时间没有使用这个应用程序了,所以这可能是相关的。)所以我采取了这些步骤,但仍然看到了问题。但 Fiddler 中的消息发生了变化:
WWW-Authenticate:OAuth“Facebook Platform”“invalid_request”“请求无效,因为应用程序被配置为桌面应用程序”
事实上,该应用程序在 Facebook 中配置错误。我将其设置为网络应用程序,现在运行良好!希望这可以帮助其他人,因为在启动 Fiddler 之前这一点还不清楚。
| 归档时间: |
|
| 查看次数: |
15798 次 |
| 最近记录: |