HybridAuth — проверка принадлежности email'а

Доброго времени суток. Vkontakte и Twitter не отдают email юзера (а Odnoklassniki — фото), соответственно, если нужна эта информация, выхода три: отказаться от их использования (нам-вам не подходит), просить войти еще через другой аккаунт (пропадает шарм авторизации одним кликом) и перенаправление на обязательное заполнение этого поля, но…
…стандартная форма getProfile позволяет ввести любой email и безболезненно его сохраняет. Как исключить такую возможность? Помещать введенный email в промежуточное поле до подтверждения и отправлять на эту почту ссылку-чекер? Или есть более изящное решение?
Ганин Роман
19 мая 2013, 17:07
modx.pro
1 592
0

Комментарии: 3

Василий Наумкин
20 мая 2013, 08:03
0
Проверять же можно плагином на событие OnBeforeUserFormSave.

Но если юзер хочет ввести не свой email — ему ничто не помешает, учитывая наличие сервисов одноразовой почты. Так что проверить можно только на опечатки.
    Ганин Роман
    20 мая 2013, 15:28
    0
    Не страшно, если пользватель ввёл одноразовую почту ради получения доступа к «негостевому» контенту. Но введя, например, заведомо чужой адрес, он невозбранно может облечь жертву на получение новостных писем, рассылки или т. д.
    Ганин Роман
    20 мая 2013, 15:21
    0
    Если ставлю
    [[!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`]]`]]
    после обновления профиля, выдает ошибку. Что я делаю не так?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3