我的应用程序要求太多许可

时间:2013-05-23 22:29:12

标签: facebook wordpress login social

我对使用FB Apps完全不熟悉,这可能是一个非常愚蠢的问题,但我一直无法弄明白。

我已将我的应用设置为在“权限”页面上询问用户的电子邮件,但它要求更多。它想要“您的公开个人资料,朋友列表,电子邮件地址,生日,家乡,网站和个人描述”。我不认为我需要所有这些,虽然我使用WordPress的第三方插件(Wordpress社交登录)来处理这个问题。

我在Facebook端丢失了什么或者我应该在Wordpress插件中查找这个来源吗?

3 个答案:

答案 0 :(得分:0)

查看wordpress插件:权限嵌入到FB.login的javascript调用中。

编辑:他们是用PHP做的。您要查找的文件是hybridauth/Hybrid/Providers/Facebook.php。您会注意到该文件的顶部有一行如下所示:

public $scope = "email, user_about_me, user_birthday, user_hometown, user_website, read_stream, offline_access, publish_stream, read_friendlists";

这些是范围。编辑它,你应该很高兴。

注意:改变那些,你可能会破坏别的东西,所以祝你好运。

答案 1 :(得分:0)

权限在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;

并删除“,user_about_me,user_birthday,user_hometown,user_website”。

我没有对此进行测试,但如果您启用了联系人导入,则可能需要进一步查看; 在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";
}

并删除“user_about_me,user_birthday,user_hometown,user_website”,

答案 2 :(得分:0)

这是此页面上所示的钩子 https://wordpress.org/support/topic/wordpress-social-login-cantt-work-invalid-scope-user_friends/

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 );