Facebook 中的 AuthenticationManager.GetExternalLoginInfoAsync()

Posted

技术标签:

【中文标题】Facebook 中的 AuthenticationManager.GetExternalLoginInfoAsync()【英文标题】:AuthenticationManager.GetExternalLoginInfoAsync() in Facebook 【发布时间】:2015-10-03 10:06:26 【问题描述】:

我创建了一个默认的 MVC5 项目并添加了我的 Facebook API 密钥;

Startup.Auth.cs

using Microsoft.Owin.Security.Facebook;

            app.UseFacebookAuthentication(
               appId: "id-here",
               appSecret: "secret-id-here");

然后我在 AccountController 的 ExternalLoginCallback 方法处设置断点。

[AllowAnonymous]
    public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
    
        var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
        if (loginInfo == null)
        
            return RedirectToAction("Login");
        

但是,AuthenticationManager.GetExternalLoginInfoAsync() 只返回 用户名和电子邮件为空。

如何设置 OWIN 以包含 facebook 电子邮件?

【问题讨论】:

这是 OWIN 或 Facebook 上的错误吗? 请安装-Package Microsoft.Owin.Security.Facebook -Pre 之后才能解决您的问题。 【参考方案1】:

Install-Package Microsoft.Owin.Security.Facebook -Pre 后我的问题解决了。

所以从包控制台管理器 Install-Package Microsoft.Owin.Security.Facebook -Pre 安装并获取 facebook 登录信息。

【讨论】:

以上是关于Facebook 中的 AuthenticationManager.GetExternalLoginInfoAsync()的主要内容,如果未能解决你的问题,请参考以下文章

Spring 安全配置无法正常工作

Django之REST_FRAMEWORK 认证组件

连接到智能卡

未找到 Codeigniter Facebook\Facebook 类中的 Facebook 登录

Facebook通过iOS中的Facebook SDK通过应用程序登录?

Windows Phone 中的 Facebook API 实现