我正在使用OWIN对MVC网站中的用户进行身份验证。登录有效,但我没有成功尝试获取用户电子邮件。我得到的唯一两个值是用户名和ID。
正如文档和示例所示,我尝试在Startup.Auth.cs中使用此代码:
newNode
我还尝试提供方法head = newNode;
作为参数,如果我调试它,从facebook身份获得的唯一属性是前面所述的用户名和ID。没有其他数据:
var opt = new FacebookAuthenticationOptions
{
AppId = "...",
AppSecret = "...",
};
opt.Scope.Add("email");
app.UseFacebookAuthentication(opt);
尝试使用3个不同的Facebook帐户登录,结果相同。
我尝试了来自here的样本,以及来自SO的类似问题(用户声称这些样本对他们有用)但没有成功。
更新
正如CBroe所指出的,这个问题可能与最新API版本2.4的变化有关
我正在寻找一个使用Microsoft.Owin.Security.Facebook和当前最新版本的facebook api的答案,在那里我可以成功检索经过身份验证的用户的电子邮件,并在上下文身份声明中提供它。