Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 我的应用程序请求的权限太多_Facebook_Wordpress_Login_Social - Fatal编程技术网

Facebook 我的应用程序请求的权限太多

Facebook 我的应用程序请求的权限太多,facebook,wordpress,login,social,Facebook,Wordpress,Login,Social,我对使用FB应用程序完全陌生,这可能是一个非常愚蠢的问题,但我一直无法理解 我已经将我的应用程序设置为在“权限”页面上请求用户的电子邮件,但它要求的远远不止这些。它需要“你的公众资料、朋友列表、电子邮件地址、生日、家乡、网站和个人描述”。我不认为我需要所有这些,尽管我正在使用Wordpress的第三方插件(Wordpress社交登录)来处理这些 我是在Facebook端遗漏了什么,还是应该在我的Wordpress插件中查找其来源?查看你的Wordpress插件:权限嵌入到对FB.login的ja

我对使用FB应用程序完全陌生,这可能是一个非常愚蠢的问题,但我一直无法理解

我已经将我的应用程序设置为在“权限”页面上请求用户的电子邮件,但它要求的远远不止这些。它需要“你的公众资料、朋友列表、电子邮件地址、生日、家乡、网站和个人描述”。我不认为我需要所有这些,尽管我正在使用Wordpress的第三方插件(Wordpress社交登录)来处理这些


我是在Facebook端遗漏了什么,还是应该在我的Wordpress插件中查找其来源?

查看你的Wordpress插件:权限嵌入到对
FB.login的javascript调用中

编辑:他们用PHP来做。你要找的文件是。您会注意到该文件顶部有一行,如下所示:

public $scope = "email, user_about_me, user_birthday, user_hometown, user_website, read_stream, offline_access, publish_stream, read_friendlists";
这些是范围。编辑一下,你就可以开始了


注意:更改这些内容可能会破坏其他内容,祝您好运。

权限在WordPress社交登录插件中设置。您可以更改它,但在下一次插件更新中,更改将丢失。 对于版本2.2.2,以下工作:

在/wp-content/plugins/wordpress-social-login/includes/services/wsl.authentication.php中 在第180行附近,查找:

// set default scope and display mode for facebook
if( strtolower( $provider ) == "facebook" ){
    $config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website"; 
    $config["providers"][$provider]["display"] = "popup";
    $config["providers"][$provider]["trustForwarded"] = true;
并删除“用户关于我、用户生日、用户家乡、用户网站”

我没有对此进行测试,但如果您启用了联系人导入,您可能需要进一步查看; 在第200行附近,查找:

// if contacts import enabled for facebook, we request an extra permission 'read_friendlists'
# https://developers.google.com/+/domains/authentication/scopes
if( get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" ){
    $config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website, read_friendlists";
}

并删除“用户关于我、用户生日、用户家乡、用户网站”,这是本页所示内容的挂钩


我浏览了插件源代码,但找不到任何关于FB.login的内容。谢谢!不幸的是,到目前为止我还不能改变这种行为,但至少我知道问题出在哪里。
function wsl_change_default_permissons( $provider_scope, $provider )
{
if( ‘facebook’ == strtolower( $provider ) )
{
$provider_scope = ’email, public_profile’;

}

return $provider_scope;
}

add_filter( ‘wsl_hook_alter_provider_scope’, ‘wsl_change_default_permissons’, 10, 2 );