网络 API 需要 Facebook 权限

Web API Required Facebook Permissions

我有一个应用程序,当他们登录时需要来自 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);
}

我要制作的两行 'required' 是;

    facebookOptions.Scope.Add("email");
    facebookOptions.Scope.Add("user_friends");

如有任何帮助,我们将不胜感激!或者关于如何处理用户删除它们的情况的任何指导。

不可能。

你可以做的是,如果用户不给你权限,你告诉用户你为什么需要它们,并给他们一个按钮,如果他们想给你就可以点击。

您还应注意,并非所有 Facebook 用户都有电子邮件地址。