[Vkontakte Login] - Регистрация и вход пользователей из ВКонтакте

Автор a_l, 26 марта 2011, 20:40:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

a_l

Мой первый мод для SMF, так что сильно не бить :)
Поддерживаемая версия движка - SMF 2.0 RC5.
Мод позволяет входить на сайт через vkontakte (при первом входе происходит автоматическая регистрация нового участника, при последующих - вход в этот аккаунт). Также куда только можно добавляется иконка ВКонтакте с ссылкой на страницу вконтакте участника. Редактирование ID разрешено только администратору, происходит это через Настройки учётной записи.
Подключать свой сайт на этой странице:
http://vkontakte.ru/apps.php?act=add&site=1
ID приложения и секретный ключ устанавливается в админке (Конфигурация->Характеристики и настройки->Настройки). Брать их из настроек приложения ВКонтакте, в этих же настройках не забудьте вписать адрес вашего сайта и сохранить.
Если захотите изменить расположение кнопки входа - форма входа расположена в файле index.template.php вашей темы, за неё отвечает этот код:
<div id="vk_auth"></div>
         <script type="text/javascript">
            window.onload = function ()
            {
            VK.init({apiId: ' . $modSettings['VKAppId'] . '});
            VK.Widgets.Auth("vk_auth", {width: "200px", authUrl: \'index.php?vklogin\'});
            }
         </script>

Благодарю digger'а за мод Loginza for SMF, этот мод помог разобраться с системой авторизации SMF.
Пример сайта с модом (за неделю работы проблем не было):
http://www.tricking.ru/


VKLogin 1.2
- Исправлены ошибки. В логах теперь ничего не всплывает.
- Добавлен английский перевод.
- Формат отображаемого имени с "Фамилия Имя" заменён на "Имя Фамилия".

Пробуем! Если всё будет в порядке, мод будет отправлен на simplemachines.org
Цитироватьа никто не задумывался над тем, что у каждого 9 из 10 спамеров есть акк в вконтакте?
С такими ещё не встречался. Если всё же это случится - придумаем как защититься.
Почему пока не стоит об этом беспокоится:
1. Вконтакте закрыли регистрацию, оставшихся спамеров оперативно удаляют.
2. Виджет на JavaScript, что в разы усложняет процесс спама.
3. Никто не будет делать спамилку, пока мод не широко распространён.

Скачать: http://custom.simplemachines.org/mods/index.php?mod=2997

yrygvay

#1
Хорошее начало.


А объединение уже существующих пользователей будет возможно?
Music in Soul
Помогу с переездом с UCOZ

Alexthelight

Поставили на форум.

При регистрации юзера - админу приходит на почту письмо с темой из крякозябл:

Цитировать=??B?0JfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC9INC90L7QstGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM?=

Цитата: yrygvay от 27 марта 2011, 20:06:42
Расскажите пожалуйста чем отличатся данный мод от модов digger
http://www.simplemachines.ru/index.php?topic=11599.0

Насколько знаю - его в открытом доступе нет

a_l

#3
ЦитироватьА объединение уже существующих пользователей будет возможно?
Будет! Только вот незадача - вконтакте предоставляет на выбор один этот виджет, даже надпись поменять нельзя. А без кнопки ничего работать не будет :)
Думаю куда бы эту кнопку впихнуть. Чтоб для SMF-юзера было понятно, что, нажав на "Войти ВКонтакте", он прикрепит свой вк-айди. Нашёл, через prehtml в настройки.
ЦитироватьПри регистрации юзера - админу приходит на почту письмо с темой из крякозябл:

Цитировать
=??B?0JfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC9INC90L7QstGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM?=
Интересно. У меня письма о регистрации новых пользователей отключены, однако посмотрим что можно сделать.

vladok

B?0JfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC9INC90L7QstGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GM = Зарегистрирован новый пользователь

Base64 → UTF-8
http://www.artlebedev.ru/tools/decoder/
Харе кришна, май либер зольдат...

saks

Цитата: Alexthelight от 27 марта 2011, 20:30:29
Поставили на форум.

При регистрации юзера - админу приходит на почту письмо с темой из крякозябл:

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

Yworld_garry

Немного подправил под используемую мною версию rc3 на одном из форумов.
Все прекрасно, спасибо автору.
Но лог заваливают ошибки скрин во вложении.
Это от версии форума, возможно я накосячил или есть лекарство?



a_l

Выкладываю обновлённую версию, VKLogin 1.1. Ключевое отличие от предыдущей - добавлена возможность SMF-пользователям прикреплять аккаунты ВКонтакте (через Настройки учётной записи). Редактировать, как и прежде, может только администратор.
В этой версии исправлена ошибка, найденная Yworld_garry.
Пробуйте! Жду отзывов, пожеланий и замечаний.

Yworld_garry

Премного благодарен, большое человеческое спасибо!!!
Пошел подправлю по себя и потестю.

Yworld_garry

Регистрация работает великолепно, но ошибки остались при входе юзера:

Цитировать8: Undefined index: server
Применить фильтр: Отображать ошибки только этого файла
Файл: /Sources/LogInOut.php
Строка: 550

8: Undefined index: email
Применить фильтр: Отображать ошибки только этого файла
Файл:public_html/Sources/Security.php
Строка: 294

8: Undefined index: ip2
Применить фильтр: Отображать ошибки только этого файла
Файл: /public_html/Sources/Security.php
Строка: 267

8: Undefined index: email
Применить фильтр: Отображать ошибки только этого файла
Файл: /public_html/Sources/Security.php
Строка: 256

8: Undefined index: ip2
Применить фильтр: Отображать ошибки только этого файла
Файл:/public_html/Sources/Security.php
Строка: 255

8: Undefined index: vkuser
Применить фильтр: Отображать ошибки только этого файла
Файл: /public_html/index.php
Строка: 173

Если есть лекарство, очень прошу указать в установщике что поменяется, а то опять лопатить под свою версию леновато. Но это конечно не обязательно.
В любом случаи спасибо за работу.

a_l

Ошибки подтверждаю, будем исправлять.
BTW, это не критично.

alexvod

Не смог зарегистрировать сайт на vkontakte.ru - категорически не принимает домен .рф. Можно ли это как-нибудь исправить?

a_l

Цитата: alexvod от 28 марта 2011, 21:49:59
Не смог зарегистрировать сайт на vkontakte.ru - категорически не принимает домен .рф. Можно ли это как-нибудь исправить?
Не перепутали ли Вы меня с Павлом Дуровым? ;) Увы, с модом это никак не связано.

syzran

спасибо огромнейшее за мод O0 когда смогу плюсану) правда пока не использую.. пытаюсь установить.. из за проблем с правами часть файлов модифицировалась.. часть чручную приходится) впервые столкнулся с smf а моды уже порадовали.. без всяких факов ясно что он делает и где)

syzran

Уважаемый автор подскажите какой файл формирует страницу настроек где ID приложения и секретный ключ устанавливается в админке (Конфигурация->Характеристики и настройки->Настройки)
у меня не появляется полей ввода ид и ключа..

a_l

Цитата: syzran от 28 марта 2011, 23:47:44
Уважаемый автор подскажите какой файл формирует страницу настроек где ID приложения и секретный ключ устанавливается в админке (Конфигурация->Характеристики и настройки->Настройки)
у меня не появляется полей ввода ид и ключа..
Самое начало modification.xml, $sourcedir/ManageSettings.php
Плюс из languages соответствующие названия.
P.S. Надеюсь, все качают версию 1.1, прикреплённую в этом сообщении:
http://www.simplemachines.ru/index.php?topic=12324.msg91257#msg91257

syzran

да да.. именно 1.1 . И еще вопросец - если нет файла в папке шаблона то используется аналогичный файл из папки core или default?

a_l

Цитата: syzran от 29 марта 2011, 00:35:14
И еще вопросец - если нет файла в папке шаблона то используется аналогичный файл из папки core или default?
Из папки default.

syzran

Проблемный я какойто. Вроде все сделал.. все добавил все зименил.. но теперь ничего не могу изменить в админке - выдает : Не удалось проверить сессию. Пожалуйста, выйдите из форума и зайдите снова.  Либо : Ваша сессия закончилась пока Вы писали сообщение. Пожалуйста, вернитесь назад и попробуйте снова. Пробовал с 2х браузеров.. нет результата...

a_l

syzran, почему бы не установить мод автоматически? Здесь только гадать, что могло произойти. Возникаю ошибки при установке - смотрите где и исправляете modification.xml.

DemoN


vladok

#21
2.0 RC5
Кодировка Вынь
Кажет виджет, кажет морду лица Контактера, при попытке войти кажет
Hacking attempt... и
и усе  ::)
Настройки под вКонтакте пробивал, айди и ключ вносил...
Час игр с бубном впустую

В логи ошибки - жалобы на хеш, как в Ответ #6
Харе кришна, май либер зольдат...

Yworld_garry

Смотрите установщик мода и проверяйте что и как установилось.
Все работает даже на RC3

a_l

Цитата: vladok от 29 марта 2011, 20:04:19
2.0 RC5
Кодировка Вынь
Кажет виджет, кажет морду лица Контактера, при попытке войти кажет
Hacking attempt... и
и усе  ::)
Настройки под вКонтакте пробивал, айди и ключ вносил...
Версия мода 1.1 или из первого сообщения? В настройках приложения вконтакте сайт вписали?
Сейчас специально поставил на хостинг SMF 2.0 RC5 в Windows-1251 кодировке. Мод встал без проблем, воспроизвести Вашу ошибку не смог.

vladok

1.1 заработала... игрался вчера с первой версией.
Тестирую.
Сенькс.
Харе кришна, май либер зольдат...

a_l

Цитата: DemoN от 29 марта 2011, 16:00:37
А будет этот мод под первую линейку?
В ближайшей перспективе таких планов нет. С smf 1 не знаком, а времени и желания на знакомство нет.
Цитировать1.1 заработала... игрался вчера с первой версией.
После обнаруженной Yworld_garry ошибки я удивляюсь, как оно вообще работало.
Просьба к администраторам/модераторам удалить из первого сообщения версию 1.0 (отредактировать первое сообщение я не могу). Ибо в ней есть ошибка, из-за которой мод может не работать вовсе или работать, создавая дыру в безопасности форума.
В версии 1.1 эта ошибка исправлена:
http://www.simplemachines.ru/index.php?topic=12324.msg91257#msg91257

vladok

Харе кришна, май либер зольдат...

vladok

Ошибки вот такие:

Цитировать8: Undefined index: vkuser
Применить фильтр: Отображать ошибки только этого файла
Файл: /home/****/index.php
Строка: 173

8: Undefined index: ip2
Применить фильтр: Отображать ошибки только этого файла
Файл: /home/****/Sources/Security.php
Строка: 249

8: Undefined index: email
Применить фильтр: Отображать ошибки только этого файла
Файл: /home/****/Sources/Security.php
Строка: 250

8: Undefined index: ip2
Применить фильтр: Отображать ошибки только этого файла
Файл: /home/****/Sources/Security.php
Строка: 261

8: Undefined index: email
Применить фильтр: Отображать ошибки только этого файла
Файл: /home/*****/Sources/Security.php
Строка: 288

8: Undefined index: server
Применить фильтр: Отображать ошибки только этого файла
Файл: /home/****/Sources/LogInOut.php
Строка: 546
Харе кришна, май либер зольдат...

a_l

vladok, эти "ошибки" ничему не мешают, только захломляют логи. Как я понял, SMF ругается из-за того, что не находит некоторые переменные, предусмотренные при классическом методе входа. Завтра вечерком займусь тем, чтоб ничего не ругалось.
Забороть одну из "ошибок" (связанную с vkuser, т.е. моим модом) можно заменив в файле index.php строку:
$vkuser=$_GET['vkuser'];
на строки:
if(isset($_GET['vkuser']) && !empty($_GET["vkuser"]))
$vkuser=$_GET['vkuser'];

vladok

Не мешают. Входит юзер через вКонтакте, пишет на форуме, выходит -все путем.
Это я в качестве баг репорта  :) - фидбек так сказать, от бета тестера.
Харе кришна, май либер зольдат...

saks

Цитата: vladok от 29 марта 2011, 22:36:33
Входит юзер через вКонтакте, пишет на форуме, выходит -все путем.
А как насчет склейки аккаунтов ? не пробовал работает ли эта фича ?

vladok

Харе кришна, май либер зольдат...

seversantana

#32
Что-то не работает у меня. Выдает ошибку 404 при попытке входа через "В контакте". Версия 1.1 Адрес сайта прописал в настройках, "В контакте".

Либо выдает после долгого раздумья, Hacking attempt...

a_l

Цитата: seversantana от 30 марта 2011, 16:27:19
Что-то не работает у меня. Выдает ошибку 404 при попытке входа через "В контакте". Версия 1.1 Адрес сайта прописал в настройках, "В контакте".

Либо выдает после долгого раздумья, Hacking attempt...
При установке никаких ошибок не выдавало? В настройках админки указали Защищённый ключ приложения вконтакте?

vladok

Страница сгенерирована за 25.651 секунд ... что то там у тебя сурьезно не сосает.
Аева стоит?
А при попытке зайти через в контакте пишет

Hacking attempt...

Прям как у мну с версией 1.0 мода  ;D
Харе кришна, май либер зольдат...

seversantana

Subs-VKLogin.php присутствует.  И Аева есть, но она то наверно здесь не при чем?

ЦитироватьСтраница сгенерирована за 25.651 секунд ... что то там у тебя сурьезно не сосает.
Странно, у меня конечно результаты не космические, но когда сам захожу самое худшее, обычно в секунду укладывается.

a_l

Ошибка вылезает из-за того, что выполняется условие:
md5($apiId.$uid.$secret_key) !== $hash
То есть созданный сайтом хэш не соответствует посланному хэшу от ВКонтакте.
Быть такое может в 2 случаях:
1. Вы не вписали (или вписали неверно) в настройки SMF Защищенный ключ приложения Вконтакте. Ещё раз проверьте это.
2. На сервере не работает функция md5() (вероятность чего крайне мала).

vladok

ЦитироватьИ Аева есть, но она то наверно здесь не при чем?
Ставил, видел как она работающий на скоростях 0.1 сек форум сажает на 1-2 сек.  ;D
Разумеется не относится, это я о времени генерации страничек.

a_l, а часом созданное приложение на вконтакте не проходит какую нить типа модерацию? Одобрямку?
У меня тоже первые сутки писало "хакинг...  ", а потом запахало. Правда после установки 1.1
Харе кришна, май либер зольдат...

a_l

Цитата: vladok от 30 марта 2011, 17:30:21a_l, а часом созданное приложение на вконтакте не проходит какую нить типа модерацию? Одобрямку?
Не проходит, должно сразу работать.
Тем более на сайте seversantana виджет успешно присылает данные, в случае премодерации такого бы не было.

seversantana

Цитировать1. Вы не вписали (или вписали неверно) в настройки SMF Защищенный ключ приложения Вконтакте. Ещё раз проверьте это.
2. На сервере не работает функция md5() (вероятность чего крайне мала).
Первый вариант проверял на сто раз. И ключ по новой ставил, и приложение сносил и опять ставил. Не идет.
А второй вариант не знаю как проверить. Хостинг "Джино". В вопросах и ответах почитал, ничего подобного не попалось. Задам вопрос в техподдержку хостинга.

a_l

seversantana, смотрю у Вас всё заработало ;) В чём проблема была?

yrygvay

Поставил, заработал с 1 правкой в index.template.php ( 1 строчку не нашёл)
Интересно другое. почему при заходе под ником Сергей Олегович.. везде потом отображается ник как Олегович Сергей?


И не увидел объединение пользователя с уже существующим ником, это где?
Music in Soul
Помогу с переездом с UCOZ

a_l

Версия 1.2 на подходе. Исправлены все ошибки в логах, добавлен английский перевод, плюс другие незначительные изменения.
Цитата: yrygvay от 31 марта 2011, 11:41:30
Поставил, заработал с 1 правкой в index.template.php ( 1 строчку не нашёл)
Интересно другое. почему при заходе под ником Сергей Олегович.. везде потом отображается ник как Олегович Сергей?
Фамилия Имя. В следующей версии поменяю порядок на Имя Фамилия, т.к. многие вместо фамилии ставят непонятно что.
ЦитироватьИ не увидел объединение пользователя с уже существующим ником, это где?
Войдите под пользователем, у которого ещё не прикреплён аккаунт вконтакте, в Настройки учётной записи.

chilly86

всё это хорошо
а никто не задумывался над тем, что у каждого 9 из 10 спамеров есть акк в вконтакте?
to live is to die

yrygvay

Интересно почему у меня при установке всё время ругается на строчку
Найти [Выделить]
<script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/script.js?rc5"></script>
У меня она почему то выглядит
<script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/script.js?rc3"></script>
Разработчик темы форума не поправил получается?

А так. всё нормально установилось!
Music in Soul
Помогу с переездом с UCOZ

a_l

Цитата: yrygvay от 31 марта 2011, 13:08:51
Разработчик темы форума не поправил получается?
Именно. Если, конечно, он для RC5 её как-то адаптировал.

seversantana

Цитата: a_l от 31 марта 2011, 01:51:24
seversantana, смотрю у Вас всё заработало ;) В чём проблема была?
Не знаю, узнал, что заработало благодаря вашему сообщению.  :)

vladok

Харе кришна, май либер зольдат...

a_l

Цитата: vladok от 01 апреля 2011, 00:01:52
Похоже таки да, модерация.  :)
Быть может техподдержка помогла с md5()? Если не техподдержка, то похоже действительно премодерация ???

Yworld_garry

Всё работает великолепно, но есть один вопрос.
Возможно ли решить проблему с мылом пользователей.
Так как мыло кривое создается, может есть возможность как то сделать, что бы этим пользователям не шла рассылка на адрес почты.
Или это только у меня? :-[