我正在为我的新ASP.NET 5 MVC 6应用程序添加Facebook身份验证。我正在关注这篇文章: https://docs.asp.net/en/latest/security/authentication/sociallogins.html
我将以下代码段添加到我的启动配置方法中,该方法可以获取有关用户的基本信息。
app.UseFacebookAuthentication(options =>
{
options.AppId = "myFacebookAppId";
options.AppSecret = "myFacebookSecret";
});
我想从Facebook请求另外一件事,即用户的出生日期。
我在代码中添加哪些内容?
答案 0 :(得分:1)
要请求用户的出生日期,您需要:
更新Scope
属性以确保在创建授权请求时Facebook中间件包含user_birthday
范围。如果您未添加user_birthday
范围,则图表API将永远不会返回用户的出生日期:options.Scope.Add("user_birthday");
根据@blowdart Fields
的建议,更新birthday
媒体资源以包含options.Fields.Add("birthday");
字段。
但请注意,ASP.NET 5 RC1(最新版本的ATM)中不存在Fields
属性。或者,you can also replace the UserInformationEndpoint
property to include the fields you need:
options.UserInformationEndpoint = "https://graph.facebook.com/me?fields=birthday,email,name";
答案 1 :(得分:0)
options类有一个Fields属性;
/// <summary>
/// The list of fields to retrieve from the UserInformationEndpoint.
/// https://developers.facebook.com/docs/graph-api/reference/user
/// </summary>
public IList<string> Fields { get; }
将birthday
添加到Fields属性。