asp.net-mvc – 如何使用ASP.NET MVC 5和OWIN获取Facebook的第一个和最后一个值?
发布时间:2020-05-23 19:03:25 所属栏目:asp.Net 来源:互联网
导读:我知道提供了一个“名称”字段,但我更愿意明确地访问第一个和最后一个名字。有人可以帮忙吗?我仍然围着ASP.Net MVC包围我的头。 在您的Startup.Auth.cs ConfigureAuth(IAppBuilder app)方法中,为Facebook设置以下内容: var x = new FacebookAuthenticatio
|
我知道提供了一个“名称”字段,但我更愿意明确地访问第一个和最后一个名字。有人可以帮忙吗?我仍然围着ASP.Net MVC包围我的头。 解决方法在您的Startup.Auth.cs ConfigureAuth(IAppBuilder app)方法中,为Facebook设置以下内容:var x = new FacebookAuthenticationOptions();
x.Scope.Add("email");
x.AppId = "*";
x.AppSecret = "**";
x.Provider = new FacebookAuthenticationProvider()
{
OnAuthenticated = async context =>
{
context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken",context.AccessToken));
foreach (var claim in context.User)
{
var claimType = string.Format("urn:facebook:{0}",claim.Key);
string claimValue = claim.Value.ToString();
if (!context.Identity.HasClaim(claimType,claimValue))
context.Identity.AddClaim(new System.Security.Claims.Claim(claimType,claimValue,"XmlSchemaString","Facebook"));
}
}
};
x.SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie;
app.UseFacebookAuthentication(x);
/*
app.UseFacebookAuthentication(
appId: "*",appSecret: "*");
* */
然后使用它访问用户的登录信息: var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); 然后以下获得名字: var firstNameClaim = loginInfo.ExternalIdentity.Claims.First(c => c.Type == "urn:facebook:first_name"); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET和会话 – 新的浏览器实例与新的浏览器窗口
- asp.net – 无法加载文件或程序集“Microsoft.TeamFoundati
- asp.net-mvc – 控制器操作无法从JSON读取Guid POST
- ASP.NET vNext如何处理config.json中的缓存,压缩和MimeMap?
- asp.net – 我们可以在单个元素上有多个itemprop用于微数据
- 使用log4net和ASP.NET跟踪会话变量
- asp.net – NavigateUrl =“#”变成href =“SubFolder /#”
- 在asp.net中将用户变量存储在数据库与会话中
- asp.net – MVC4默认路由指向某个区域
- asp.net – 如何从SQL表中的列获取XML数据?
