HybridAuth — проверка принадлежности email'а
Доброго времени суток. Vkontakte и Twitter не отдают email юзера (а Odnoklassniki — фото), соответственно, если нужна эта информация, выхода три: отказаться от их использования (нам-вам не подходит), просить войти еще через другой аккаунт (пропадает шарм авторизации одним кликом) и перенаправление на обязательное заполнение этого поля, но…
…стандартная форма getProfile позволяет ввести любой email и безболезненно его сохраняет. Как исключить такую возможность? Помещать введенный email в промежуточное поле до подтверждения и отправлять на эту почту ссылку-чекер? Или есть более изящное решение?
…стандартная форма getProfile позволяет ввести любой email и безболезненно его сохраняет. Как исключить такую возможность? Помещать введенный email в промежуточное поле до подтверждения и отправлять на эту почту ссылку-чекер? Или есть более изящное решение?
Комментарии: 3
Проверять же можно плагином на событие OnBeforeUserFormSave.
Но если юзер хочет ввести не свой email — ему ничто не помешает, учитывая наличие сервисов одноразовой почты. Так что проверить можно только на опечатки.
Но если юзер хочет ввести не свой email — ему ничто не помешает, учитывая наличие сервисов одноразовой почты. Так что проверить можно только на опечатки.
Не страшно, если пользватель ввёл одноразовую почту ради получения доступа к «негостевому» контенту. Но введя, например, заведомо чужой адрес, он невозбранно может облечь жертву на получение новостных писем, рассылки или т. д.
Если ставлю
[[!HybridAuth?
&providers=`Yandex,Google,Facebook,Vkontakte,Mailru`
&groups=`Users` &profileFields=`username:25,email:50,fullname:50`
&action=`getProfile`]]
на отдельную страницу, на которую перенаправляю через &loginResourceId=`id`, то всё работает. Но при попытке добавить в tpl.HybridAuth.logout:[[+email:is=``:
then=`[[!HybridAuth?
&providers=`Yandex,Google,Facebook,Vkontakte,Mailru`
&groups=`Clients` &profileFields=`username:25,email:50,fullname:50`
&action=`getProfile`]]`:
else=`[[!TicketForm?]][[!getPage? &element=`getTickets`]]`]]
после обновления профиля, выдает ошибку. Что я делаю не так?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.