asp.net-mvc – 如何使用ASP.NET身份(OWIN)访问Facebook的私人信息?
|
我在ASP.NET MVC 5(使用RC1版本目前)开发一个网站。该网站将使用Facebook进行用户身份验证和检索初始配置文件数据。 对于身份验证系统,我使用新的基于OWIN的ASP.NET身份引擎(http://blogs.msdn.com/b/webdev/archive/2013/07/03/understanding-owin-forms-authentication-in-mvc-5.aspx),因为它大大简化了与外部提供程序进行身份验证的过程。 问题是,一旦用户首次登录,我想从Facebook配置文件获取其电子邮件地址,但此数据不包括在生成的声明中。所以我想过这些替代方案来获得地址: >指示ASP.NET身份引擎在其中包含电子邮件地址 所以问题是: >我如何指示ASP.NET身份引擎检索 谢谢! 注意:对于身份验证系统,我的应用程序使用基于此SO答案中链接的示例项目的代码:http://stackoverflow.com/a/18423474/4574 解决方法要从Facebook检索其他信息,您可以指定在配置facebook身份验证选项时要包括的范围。获取检索到的附加信息可以通过实现提供程序的OnAuthenticated方法来实现,如下所示:var facebookOptions = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions()
{
Provider = new FacebookAuthenticationProvider()
{
OnAuthenticated = (context) =>
{
// All data from facebook in this object.
var rawUserObjectFromFacebookAsJson = context.User;
// Only some of the basic details from facebook
// like id,username,email etc are added as claims.
// But you can retrieve any other details from this
// raw Json object from facebook and add it as claims here.
// Subsequently adding a claim here will also send this claim
// as part of the cookie set on the browser so you can retrieve
// on every successive request.
context.Identity.AddClaim(...);
return Task.FromResult(0);
}
}
};
//Way to specify additional scopes
facebookOptions.Scope.Add("...");
app.UseFacebookAuthentication(facebookOptions);
根据代码here我看到电子邮件已经检索并添加为一个索赔如果Facebook已发送。你不能看到它吗? (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – ASP.NET MVC 3: – 使用数据库而不是资源
- asp.net-mvc-3 – MVC3未终止字符串常量语法错误
- 为什么在ASP.NET Web API中从请求中删除内容范围标题?
- 如何使用ASP.NET获取访问者位置(国家,州和城市)
- 企业ASP.NET MVC 3架构大纲
- asp.net-mvc-4 – 用于空响应的ASP.NET Web API和状态代码
- asp.net webservice处理gzip压缩请求
- 与ASP.net WEB API进行交易
- asp.net – 为什么这个JSON返回“无效的JSON原语”?
- asp.net-core – Asp.net Core中的UserHostAddress
- asp.net – 从C#代码增加Http Runtime MaxReques
- asp.net-mvc – 如何在mvc4中的特定视图中添加单
- asp.net – Azure Web App端口映射/转发
- asp.net下Repeater使用 AspNetPager分页控件
- 执行迁移EF core 2.0时出错,将Identity id从stri
- asp.net-mvc – 如何创建ELMAH SQL Server数据库
- asp.net-mvc – 如何在MVC 5中使用用户身份中的角
- asp.net-mvc – Sql Views的流畅Nhibernate映射
- asp.net-mvc – EF,ASP MVC依赖注入.多个并发请求
- asp.net – 跨应用程序的表单身份验证
