Недостаток всегда использовать auth_type="rerequest" в кнопке входа в Facebook (для необходимых разрешений)?
У меня есть реализация входа в Facebook (для веб-сайта, использующего API javascript), для которого я хочу получить разрешение "электронная почта". Когда пользователь впервые входит в систему, он может отказать в этом разрешении, которое достаточно легко обнаружить с помощью последующего просмотра конечной точки / me / permissions. Если я обнаружу, что они это отрицают, я не продолжу вход в систему. Все идет нормально.
Затем во время последующих входов в систему, чтобы убедиться, что они получают повторный запрос на это разрешение, я включаю auth_type="rerequest" в свои кнопки входа в систему (которые могут отображаться либо через xfbml, либо по ссылке onclick=FB.login(...)).
Хотя это, кажется, работает, мой вопрос: если я всегда хочу, чтобы разрешение требовалось, есть ли какие-либо недостатки для ВСЕГДА, включая auth_type="rerequest" в моих кнопках входа? Я не вижу ничего противоположного в документации, и это, по- видимому, не оказывает какого-либо неблагоприятного влияния на новых пользователей или пользователей, которые не отказали в разрешении (т.е. это только изменяет поток входа в систему - повторным запросом, если пользователь что-то уже отклонил. Какое поведение я хочу).
Хорошая практика, похоже, диктует, что я должен включать это только тогда, когда я действительно знаю, что есть что-то, что я хочу повторить, но ради этого вопроса я хотел бы знать, есть ли какие-либо подводные камни, чтобы всегда включать это.
2 ответа
На самом деле нет никаких недостатков, но рекомендуемый способ - НЕ принуждать пользователей к использованию разрешенных ими разрешений. Вместо этого покажите им поле ввода, если они не авторизовали разрешение электронной почты, где они могут ввести любое электронное письмо, которое они хотят. Имейте в виду, что поле электронной почты не всегда заполнено, даже если пользователь принял разрешение.
Вы используете кнопку входа в Facebook? Это работает для меня, чтобы повторно запросить отклоненное разрешение.
Просто добавив auth_type="rerequest" в кнопку.
<fb:login-button scope="email,user_birthday,public_profile" auth_type="rerequest" onlogin="checkLoginState();"></fb:login-button>
Надеюсь, что это может помочь вам.