我有一个应用程序,当他们登录时,需要来自facebook的电子邮件和user_friends权限。我想让这些权限成为必需的,就像默认情况下的public_profile权限一样。有可能做到这一点吗?目前,如果他们编辑并删除权限,我的应用程序将无法工作,我不确定如何处理这种情况(在哪里做?)。
我的Startup.Auth.cs文件如下所示;
var facebookOptions = new Microsoft.Owin.Security.Facebook.FacebookAuthenticationOptions
{
AppId = "**",
AppSecret = "**",
Provider = new FacebookAuthenticationProvider()
{
OnAuthenticated = (context) =>
{
context.Identity.AddClaim(new System.Security.Claims.Claim("urn:facebook:access_token", context.AccessToken, ClaimValueTypes.String, "Facebook"));
context.Identity.AddClaim(new System.Security.Claims.Claim("urn:facebook:email", context.Email, ClaimValueTypes.Email, "Facebook"));
return Task.FromResult(0);
}
},
};
facebookOptions.Scope.Add("email");
facebookOptions.Scope.Add("user_friends");
app.UseFacebookAuthentication(facebookOptions);
}
我想让"必需"的两行是;
facebookOptions.Scope.Add("email");
facebookOptions.Scope.Add("user_friends");
如有任何帮助,我们将不胜感激!或者关于如何处理用户移除它们的情况的任何指示。
这是不可能的。
你可以做的是,如果用户没有给你权限,你会告诉用户你为什么需要他们,如果他们想给你,你可以给他们一个点击按钮。
你还应该意识到,并不是所有的Facebook用户都有一个电子邮件地址。