Zauth: авторизация с помощью соц. сетей

#76 17 июня 2019 в 20:13
Так же, хотелось бы иметь возможность самому указывать, какие поля запрашивать на последнем шаге.
Например, мне не обязательно получать email, но нужно что бы обязательно указывалась группа и например поле телефон
#77 17 июня 2019 в 20:22

В рамках компонента это не нужно.

Zau4man
Думаю пригодилось бы для того, что бы реализовать привязку нескольких соцсетей к одному аккаунту. Такое пожелание было уже)))
#78 19 июня 2019 в 17:51
При регистрации через одноклассники не подхватывает e-mail. У меня у одного так?
#79 19 июня 2019 в 18:01


При регистрации через одноклассники не подхватывает e-mail. У меня у одного так?

@boom

На сколько я помню, одноклассники его никогда и не отдавали. По этой причине требуется его ручной ввод.
#80 19 июня 2019 в 18:32
@Kerncraft1, тогда вопрос снят
#81 5 марта 2020 в 22:06
При регистрации нового пользователя через маил.ру выдает такую ошибку че делать?

Ошибка в запросе БД:

Column 'nickname' cannot be null
INSERT INTO cms_users (`email`, `nickname`, `groups`, `avatar`, `password_hash`, `date_reg`, `date_log`, `time_zone`, `notify_options`)
VALUES ('vasya@mail.ru', NULL, '---\n- 3\n- 8\n', '---\nnormal: 000/u0/1/4/6fa35180.jpg\nmicro: 000/u0/3/4/0d8a1fed.jpg\nsmall: 000/u0/c/a/4215c79f.jpg\n', '$2y$10$VFlzOOSL5BGl681EGSKOo.ADvO6JFeb/kXZdetIox7sUow0p/IgZi', '2020-03-05 21:58:25', '2020-03-05 21:58:25', 'Europe/Moscow', '---\ncomments_new: email\ncomments_reply: email\ngroups_invite: both\nmessages_new: email\nusers_friend_add: email\nusers_friend_accept: pm\nusers_friend_delete: email\nusers_wall_write: email\nsubscriptions: both\nrating_user_vote:\n')

Последние вызовы:

cmsDatabase->insert() @ /system/core/model.php: 563
cmsModel->insert() @ /system/controllers/users/model.php: 348
modelUsers->addUser() @ /system/controllers/zauth/frontend.php: 0
zauth->addUser() @ /system/core/action.php: 37
cmsAction->__call() @ /system/controllers/zauth/actions/mr.php: 85
actionZauthMr->run() @ /system/core/controller.php: 585
cmsController->runExternalAction() @ /system/core/controller.php: 456
cmsController->executeAction() @ /system/core/controller.php: 432
cmsController->runAction() @ /system/core/core.php: 786
cmsCore->runController() @ /index.php: 46
#82 5 марта 2020 в 22:37
ignat, где этот запрос..

Посмотрите, чего там с этим никнеймом. Почему его нет. Майл должен отдавать или нет, я не знаю, не ставил плагин.
#83 5 марта 2020 в 22:50
@Evg, подожду ответа автора дополнения.
#84 6 марта 2020 в 12:29
ignat, странная ошибка.
Из документации api.mail.ru/docs/reference/rest/users-getinfo/ переменная nick приходит в ответе от апи.
И она идет на запись в базу. Сперва просто копируется для единообразия

  1.  
  2. public function mrPrepareInfo($user_info) {
  3. $nickname = $user_info->nick;
  4. $photos = $this->copyAvaWithCopies($user_info->pic_big);
  5. return array(
  6. 'nickname' => $nickname,
  7. 'photos' => $photos
  8. );
  9. }
  10.  
Этот аккаунт ваш или вашего знакомого? Могу подготовить скрипт, который сделает дамп ответа, получаемого от mail.ru Посмотрим, что приходит в ответ в графе nick. Напишите мне на почту evg-bulakh@yandex.ru
Допускаю, что, например, аккаунт старый, и тогда поле nick еще не заполнялось. Я такого не встречал. Посмотрю по коду, и буду брать логин из е-майл, если пустой nick
#85 6 марта 2020 в 12:58

Этот аккаунт ваш или вашего знакомого?

Zau4man
я эксперементировал со своими аккаунтами. vasya@mail.ru это так, для примера)

Допускаю, что, например, аккаунт старый, и тогда поле nick еще не заполнялось

Zau4man
Наверно, т.к. именно регистрация со старых аккаунтов которым по много лет выдают ошибку.
Сейчас зарегил новую почту на маил.ру, протестил, норм.регистрация прошла. Было бы хорошо придумать чего чтоб и старые аккаунты регились smile
#86 25 марта 2020 в 11:26
По ссылке всем купившим рекомендую скачать и поставить патч /users/files/download7598.html

Патч исправляет ошибку с невозможностью повторной авторизации некоторых пользователей, авторизованных с помощью одноклассники и фейсбук (запретившие доступ к е-майл и указавшие его вручную), а также невозможность регистрации пользователей с майл.ру, у которых достаточно старые аккаунты (проблема описана выше в посте #81)

Также посмотрите в списке пользователей компонента, есть ли там пользователи с id пользователя в соц. сети равном 2147483647
Если такие есть, стоит с ними связаться напрямую, так как они попали под первый баг. И авторизоваться повторно не смогут.
#87 25 марта 2020 в 18:21
Zau4man, Спасибо!
#88 27 марта 2020 в 17:17
Не доходили руки задать вопрос: авторизация через яндекс у всех нормально работает?

Я когда установил дополнение, точно помню 100% работало все. А потом как-то обратил внимание, что при нажатии кнопки регистрации через яндекс получается 404 страница с параметром: top-mods.ru/zauth/ya/?first=1

Приложение пересоздавал — не помогло.

С другими сетями все ок.
#89 27 марта 2020 в 17:25

Приложение пересоздавал — не помогло.

@Kerncraft1

При создании приложения снимите чекбокс — доступ к "дате рождения" и сохраните, ID приложения напишите в настройках компонента.

#90 27 марта 2020 в 18:30
Андрей, все делал согласно инструкции (доступ: емайл, логин, фото).



PS собственно проблему нашел. Как ранее и писал, после клика на кнопку яндекса был переход по адресу top-mods.ru/zauth/ya/?first=1, в котором как оказалось есть лишний слеш перед ?first=1

Посмотрел, он берется из файла \templates\default\controllers\zauth\ya.tpl.php, код
  1. window.location = "<?php echo href_to('zauth', 'ya') ?>/?first=1";
Убрал слеш — все заработало.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.