加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET核心Facebook身份验证中间件用户图片

发布时间:2020-12-16 06:40:17 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试使用ASP.NET Core 1.0中的Facebook身份验证中间件检索用户个人资料图片.我已设法添加这些配置以使用户图片可用 app.UseFacebookAuthentication(new FacebookOptions() { AppId = Configuration["Authentication:Facebook:AppId"],AppSecret = Conf
我正在尝试使用ASP.NET Core 1.0中的Facebook身份验证中间件检索用户个人资料图片.我已设法添加这些配置以使用户图片可用

app.UseFacebookAuthentication(new FacebookOptions()
        {
            AppId = Configuration["Authentication:Facebook:AppId"],AppSecret = Configuration["Authentication:Facebook:AppSecret"],Scope = { "public_profile" },Fields = { "picture" }
        });

并检索数据

var email = info.Principal.FindFirstValue(ClaimTypes.Email);

var userName = info.Principal.FindFirstValue(ClaimTypes.GivenName);

但是,我现在如何检索用户图片,因为它没有索赔类型?

解决方法

正如Set在他的回答中所说,您可以使用Facebook Graph API获取图片,如https://graph.facebook.com/{user-id}/picture.

示例代码:

var info = await _signInManager.GetExternalLoginInfoAsync();
var identifier = info.Principal.FindFirstValue(ClaimTypes.NameIdentifier); 
var picture = $"https://graph.facebook.com/{identifier}/picture";

您可能想要检查info是否为null,以及info.LoginProvider是否为facebook.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读