2013-05-23 6 views
-1

Je suis complètement nouveau pour travailler avec FB Apps et cela peut être une question terriblement stupide, mais j'ai été incapable de le comprendre.Mon application demande trop de permission

J'ai configuré mon application pour demander l'adresse e-mail d'un utilisateur sur la page Autorisations, mais elle demande beaucoup plus. Il veut "votre profil public, liste d'amis, adresse e-mail, anniversaire, ville natale, site Web et description personnelle." Je ne pense pas avoir besoin de tout cela, bien que j'utilise un plugin tiers pour Wordpress (Wordpress Social Login) pour gérer cela. Est-ce que je manque quelque chose sur la fin de Facebook ou est-ce que je devrais chercher la source de ceci dans mon plugin de Wordpress?

Répondre

0

Regardez dans votre plugin wordpress: les permissions sont intégrées dans l'appel javascript au FB.login.

EDIT: ils le font en PHP. Le fichier que vous cherchez est hybridauth/Hybrid/Providers/Facebook.php. Vous remarquerez en haut de ce fichier qu'il y a une ligne qui ressemble à ceci:

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

Ce sont les étendues. Modifier cela et vous devriez être bon à faire. NOTE: changez-les et vous pourriez casser quelque chose d'autre, alors bonne chance avec celui-là.

+0

Je grep'ed le code source du plugin, mais n'a pas pu trouver aucune mention de FB.login. –

+0

Merci! Malheureusement, je n'ai pas été capable de changer le comportement jusqu'à présent, mais au moins je sais où se situe le problème. –

0

Les autorisations sont définies dans le plugin WordPress Social Login. Vous pouvez le changer, mais le changement sera perdu avec la prochaine mise à jour du plugin. Pour la version 2.2.2 les travaux suivants:

dans /wp-content/plugins/wordpress-social-login/includes/services/wsl.authentication.php autour de la ligne 180, trouver:

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

et effacez ", user_about_me, user_birthday, user_hometown, user_website".

Je n'ai pas testé cela, mais si vous avez activé l'importation de contacts, vous pouvez vouloir regarder un peu plus loin; autour de la ligne 200, trouver:

// 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"; 
} 

et effacer "user_about_me, user_birthday, user_hometown, user_website,"

Questions connexes