我看过很多关于 facebook 身份验证的帖子,要么是旧的要么不能正常工作。
然而,最后我在我的项目中做了一些有效但不完全的东西。这是我要求的代码
var facebookAuthenticationOptions = new FacebookAuthenticationOptions()
{
AppId = "...ID",
AppSecret = "...AppSecret",
AuthenticationType = "Facebook",
SignInAsAuthenticationType = "ExternalCookie",
//Provider = new FacebookAuthenticationProvider
//{
// OnAuthenticated = async ctx =>
// {
// if (ctx.User["birthday"] != null)
// {
// ctx.Identity.AddClaim(new Claim(ClaimTypes.DateOfBirth,ctx.User["birthday"].ToString()));
// }
// }
//}
};
facebookAuthenticationOptions.Scope.Add("user_birthday");
//facebookAuthenticationOptions.Scope.Add("first_name");
//facebookAuthenticationOptions.Scope.Add("last_name");
//page goes blank if ask for first_name,last_name , if comment out works
//but doesn give date of birth or likes or other things.
facebookAuthenticationOptions.Scope.Add("publish_stream");
facebookAuthenticationOptions.Scope.Add("user_likes");
facebookAuthenticationOptions.Scope.Add("friends_likes");
facebookAuthenticationOptions.Scope.Add("read_stream");
facebookAuthenticationOptions.Scope.Add("email");
app.UseFacebookAuthentication(facebookAuthenticationOptions);
谁能帮助我为什么我没有得到friends_like,birthday,user_likes等。
此外,如何获取这些字符串值(即“user_birthday”、“first_name”)用于信息检索,比如我怎么知道“user_birthday”返回生日日期(我从搜索中得到),有没有任何列表有这个字符串名称(即“user_birthday”、“first_name”)吗?
如果我使用谷歌身份验证,是否可以获得电话号码或名字、姓氏?