2013-05-23 2 views
-1

Я совершенно не знаком с работой с FB Apps, и это может быть ужасно глупый вопрос, но я не смог понять это.Мое приложение запрашивает слишком много разрешения

Я установил свое приложение для запроса электронной почты пользователя на странице «Разрешения», но он просит гораздо больше. Он хочет «ваш общественный профиль, список друзей, адрес электронной почты, день рождения, родной город, сайт и личное описание». Я не думаю, что мне нужно все это, хотя я использую сторонний плагин для Wordpress (Wordpress Social Login), чтобы справиться с этим.

Я что-то упустил в конце Facebook или должен искать источник этого в моем плагине Wordpress?

ответ

0

Посмотрите в свой плагин wordpress: разрешения встроены в javascript-вызов на FB.login.

EDIT: они делают это на 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"; 

Это области. Отредактируйте это, и вам должно быть хорошо идти.

ПРИМЕЧАНИЕ: измените их, и вы можете сломать что-то еще, так что удачи с этим.

+0

Я grep'ed исходный код плагина, но не смог найти ни одного упоминания о FB.login. –

+0

Спасибо! К сожалению, пока я не смог изменить поведение, но, по крайней мере, я знаю, где проблема. –

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,"

Смежные вопросы