23

У меня есть реализация входа в Facebook (для веб-сайта, использующего javascript API), для которого я хочу получить разрешение «электронной почты». Когда пользователь впервые войдет в систему, они могут отказать в этом разрешении, что достаточно легко обнаружить путем последующего просмотра конечной точки/me/permissions. Если я нахожу, что они отрицают это, я не буду продолжать логин. Все идет нормально.Даунсайд всегда использует auth_type = "rerequest" в кнопке входа в Facebook (для получения необходимых разрешений)?

Затем в течение последующих регистраций, чтобы убедиться, что они получают повторно предложено для этого разрешения, я включаю AUTH_TYPE = «rerequest» в моих кнопках входа (которые могут быть оказаны либо через XFBML или ссылку с OnClick = FB. авторизоваться(...)).

Хотя это работает, мой вопрос: если я всегда хочу, чтобы разрешение было необходимо, есть ли какой-либо недостаток для ВСЕГДА, включая auth_type = "rerequest" в моих логин-кнопках? Я не вижу ничего противоположного в documentation, и появляется , чтобы не оказывать негативного влияния на новых пользователей или пользователей, которые не отказали в разрешении (т. Е. Изменяет только входной поток - путем повторного запроса если пользователь уже что-то отклонил. Какое поведение я хочу).

Хорошая практика, как представляется, диктует, что я должен включать это только в том случае, когда я действительно знаю, что есть что-то, что я хочу повторить, но ради этого вопроса я хотел бы знать, есть ли какие-либо подводные камни только для того, чтобы всегда включая его.

ответ

4

Нет никакого реального искажения афайна, но рекомендуемый способ НЕ принуждать пользователей использовать разрешения, которые они не выбрали. Вместо этого покажите им поле ввода, если они не разрешили разрешение электронной почты, где они могут вводить любое электронное письмо, которое они хотят. Имейте в виду, что поле электронной почты не всегда заполняется, даже если пользователь принял разрешение.

0

Вы используете кнопку входа в систему Facebook? Это работает для меня, чтобы повторно запросить отклоненное разрешение.

Просто добавьте auth_type = "rerequest" в кнопку.

<fb:login-button scope="email,user_birthday,public_profile" auth_type="rerequest" onlogin="checkLoginState();"></fb:login-button> 

Надеюсь, что это может вам помочь.

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

  • Нет связанных вопросов^_^