Web API需要Facebook权限



我有一个应用程序,当他们登录时,需要来自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用户都有一个电子邮件地址。

最新更新