[Loginza for SMF] - Авторизация на форуме через социальные сети и OpenID

Автор digger®, 10 июля 2010, 23:28:53

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

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

digger®

Loginza for SMF
Автор: digger
Последняя версия: 1.0
Совместим: SMF2.x
Требования: UTF-8, PHP5, CURL или разрешение работы c ресурсами http:// для file_get_contents() в настройках PHP.
GitHub: https://github.com/realdigger/SMF-Loginza4smf/releases

Позволяет авторизоваться на форуме через учетную запись веб-сервисов:
google, yandex, mail.ru, vkontakte, facebook, twitter, loginza, myopenid, webmoney, rambler, flickr, lastfm, verisign, aol, steam
или любого OpenID провайдера.


Как работает:
При логине создает пользователя с данными полученными от провайдера авторизации и случайно сгенерированным паролем. Если ник уже занят, генерируется новый вида login.id, транслитерируется и обрезается до 25 символов. Если email не получен от провайдера или такой уже есть в базе, генерируется новый вида login[at]provider.local (.local для того чтобы письма форум потом не слал на несуществующие адреса).
Пользователь автоматически активируется, независимо от настроек регистрации форума. Email скрывается, независимо от настроек форума.
Заодно пытается получить дополнительные данные:
аватар, сайт, дата рождения, пол, icq, город.

На повестке дня:
1) Если пользователю сгенерировало фейковый email, неплохо бы его проинформировать об этом.
2) Автоматическая генерация не идеальна, вместо логина лучше использовать какой-то другой идентификатор. Теоретически возможна ситуация с совпадением. С имейлами та же история.
3) Если полученный имейл уже есть в базе, неплохо бы как-то обрабатывать эту ситуацию. Хотя тут могут быть проблемы с безопасностью.

Размышления:
Теоретически, можно залогинить пользователя не создавая профиль. Этакий блоговый вариант. Не знаю имеет практическую ценность или нет.

Тестим, пишем багрепорты. Если авторизация обламывается, покажет отладку - можно ее скопипастить сюда.



Если вам оказался полезен этот мод, можете выразить свою благодарность и проспонсировать дальнейшее его развитие по следующим реквизитам.
Webmoney Z106477359122, R415814630950, U182033632769
Яндекс-Деньги 41001194767616   

Alex Connor

Лично я в восторге от такого задума. Жду, когда можно будет себе на форум такое поставить. Ошибок не заметил. Сам я Sasha Loskutov, заходил через аккаунт гугл. Мне понравилось. Респект создателю, но и тому, кто затеял такое дело для всех нас.

digger®

Цитата: /smart/- от 10 июля 2010, 23:51:03
Лично я в восторге от такого задума. Жду, когда можно будет себе на форум такое поставить. Ошибок не заметил. Сам я Sasha Loskutov, заходил через аккаунт гугл. Мне понравилось. Респект создателю, но и тому, кто затеял такое дело для всех нас.

Авторы Логинзы молодцы. В качестве бонуса заодно получаем нормально работающий (надеюсь) OpenID.

BIOHAZARD

печально, что нельзя редактировать данные профиля, т.к. пароль неизвестен
нет ли возможности выдавать пользователю сгенеренный пароль при его первом входе? мол запомните, а ещё лучше запишите



ВКонтакте
несколько странно для меня, что логин идёт из ника вконтакте, а отображаемое имя из имя-фамилия вконтакте
возможно логичнее и то и другое из ника, либо логин из фио, а отображаемое имя из ника (возможно фильтрованного)



Google
через google не зашёл, вроде авторизация и идёт, но на последнем этапе форум перезагружается, но логина не происходит и код рвётся в месте формы логинзы
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Alex Connor

Могу предоставить фото отчет о входе с гугла, если надо

BIOHAZARD

я так подозреваю, что успешные входы digger`a интересуют меньше, чем неудачные
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Макар

Цитата: BIOHAZARD от 11 июля 2010, 16:25:43
печально, что нельзя редактировать данные профиля, т.к. пароль неизвестен
нет ли возможности выдавать пользователю сгенеренный пароль при его первом входе? мол запомните, а ещё лучше запишите


присоединяюсь :( замкнутый круг какой то и профиль созданный получается не полноценный в плане - нет прав им управлять

и еще

вот  у меня есть профиль , сообщения на форуме
и тут я решил войти через openID или google  или яндекс или т.п. сервис
и оп новый чистый акаунт..
как бы их склеить вместе, эти акаунты ?   старый и новый нужен какой то общий признак , что бы не склеить чужие

может продумать механизм по принципу  Subaccounts  "персонажей His Divine Shadow "

кстати управлять своей учетной записью все таки можно, если зашел через google - мыло в профиле реальное , поэтому можно сделать вид , что пароль забыл , получить его на мыло и задать свой новый.
И вход , потом кстати работает после изменения пароля.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

BIOHAZARD

пользователей вконтакта в нашей стране на много больше, чем пользователей гуглопочты
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Макар

гы.......
согласен
кстати, А зачем для логина яндекса генерить фейк мыло? там можно убрать user@open.yandex.ru и мыло будет реальным и рабочим, что даст возможность управлять акаунтом после смены пароля.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

digger®

Цитата: BIOHAZARD от 11 июля 2010, 16:25:43
печально, что нельзя редактировать данные профиля, т.к. пароль неизвестен
нет ли возможности выдавать пользователю сгенеренный пароль при его первом входе? мол запомните, а ещё лучше запишите
Нормальные провайдеры авторизации отдают мыло, поэтому можно воспользоваться восстановлением. Если получил фейковое мыло, то да тут проблема.
В любом случае, надо бы показывать пользователю какое-то сообщение после регистрации.
Типа, для вас сгенерирован такой пароль и мыло - сохраните или измените в своем профиле.

Цитировать
ВКонтакте
несколько странно для меня, что логин идёт из ника вконтакте, а отображаемое имя из имя-фамилия вконтакте
возможно логичнее и то и другое из ника, либо логин из фио, а отображаемое имя из ника (возможно фильтрованного)
По моему, вполне логично как сейчас. Не спец по вконтакту, а там разве есть отдельный логин?

Цитировать
Google
через google не зашёл, вроде авторизация и идёт, но на последнем этапе форум перезагружается, но логина не происходит и код рвётся в месте формы логинзы
Если не показывает массив с содержимым полей авторизации, значит крякнуло в момент записи в базу. Или какие-то символы в нехорошие в каком-то значении или слишком длинное.

Цитировать
вот  у меня есть профиль , сообщения на форуме
и тут я решил войти через openID или google  или яндекс или т.п. сервис
и оп новый чистый акаунт..
как бы их склеить вместе, эти акаунты ?   старый и новый нужен какой то общий признак , что бы не склеить чужие
Общего признака никакого нет. Мыло не катит.

Цитата: Makar от 11 июля 2010, 19:46:05
кстати, А зачем для логина яндекса генерить фейк мыло? там можно убрать user@open.yandex.ru и мыло будет реальным и рабочим, что даст возможность управлять акаунтом после смены пароля.

Фейковое мыло генерится в двух случаях - если провайдер вообще не отдает мыло или на форуме уже есть юзер с таким.

BIOHAZARD

Цитата: digger от 11 июля 2010, 22:44:51По моему, вполне логично как сейчас. Не спец по вконтакту, а там разве есть отдельный логин?
я это к тому, что отображаемое имя лучше делать из ника вконтакте, а не из фио (если конечно ник присутствует)
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Макар

Цитата: digger от 11 июля 2010, 22:44:51
Фейковое мыло генерится в двух случаях - если провайдер вообще не отдает мыло или на форуме уже есть юзер с таким.

дык  такого юзера или мыла не было,  для меня был сгенерен фейк user@open.yandex.ru.lokal  а если из адреса  user@open.yandex.ru    убрать open. то получится рабочий мейл
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

digger®

Цитата: Makar от 12 июля 2010, 10:46:11
дык  такого юзера или мыла не было,  для меня был сгенерен фейк user@open.yandex.ru.lokal  а если из адреса  user@open.yandex.ru    убрать open. то получится рабочий мейл

Мыло в профиле яндекса не должно совпадать с яндексовым. Возможно, его вообще можно скрыть.

Claus_ua


Tair

кстати, а если пользователь уже есть на форуме - а он лентяй и решил зайти через вконтакте.. Что в этом случае?

BIOHAZARD

Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Tair

Цитата: BIOHAZARD от 03 августа 2010, 16:39:38
вы не поверите, но он таки зайдёт :о)

я верю, просто будет ли создан новый профиль - или будет использоваться существующий?


Tair



Tair

Цитата: digger от 03 августа 2010, 18:06:59
А как иначе? Логинится какой-то левый человек, с чего вдруг ему оказать в чьем-то чужом профиле.

ну что-то типа дополнительной опции привязки профиля форума к профилю вконтакте...

Что-то типа логинится человек с вконтакте, тут он понимает что он уже есть на форуме (а профиль от вконтакте ещё не создан) - логинится своим профилем на форуме и жмякает кнопку Авторизовать меня вконтакте (или что-то в этом духе). На почту профиля форума высылается подтверждение о привязке и привязываются профили (один виртуальный, ещё не созданный - но с линковкой на вконтакте и обычный).

Макар

digger ,  кстати да..... это идея как связать уже реальный профиль и все те что идут через логинзу

Цитата: digger от 11 июля 2010, 22:44:51
Общего признака никакого нет. Мыло не катит.
Фейковое мыло генерится в двух случаях - если провайдер вообще не отдает мыло или на форуме уже есть юзер с таким.

взять за общий признак не один параметр а совокупность ---  логин + мыло (в т.ч. фейковое) + тип авторизации

эту связку знает только владелец профиля , вот пусть и вводит ее для подтверждения склеивания акаунтов

т.е. управление передать в основной профиль пользователя созданный стандартными средствами форума а аутентификацию проводить введением и проверкой данных из профилей созданных логинзой  , все равно же, для каждого акаунта генерируются уникальные данные вот и вбивать их в основном профиле для подтверждения , и на основе этого добавлять сообщения / предупреждения/ баны и остальную инфу по пользователю в основной профиль

смысл склеивать не автоматом а ручками
кому надо склеит
кому не надо наплодит сущностей и будет писать из разных акаунтов пока психика выдержит wallbash 2funny
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

digger®

Цитата: Tair от 03 августа 2010, 19:06:36
Что-то типа логинится человек с вконтакте, тут он понимает что он уже есть на форуме (а профиль от вконтакте ещё не создан) - логинится своим профилем на форуме и жмякает кнопку Авторизовать меня вконтакте (или что-то в этом духе). На почту профиля форума высылается подтверждение о привязке и привязываются профили (один виртуальный, ещё не созданный - но с линковкой на вконтакте и обычный).

:o А почему просто не авторизоваться стандартным путем вместо проделывания всей этой кучи операций?

Макар

digger пути господни пользователей неисповедимы
кто знает что за тараканы у них в голове бегают ?
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

0daliska

Макар, но тараканов обычно травят а не разводят...  ;)
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Макар

Ну мод заказывал не я :) я лишь предлагаю разные варианты его работы. Лучше откатать все на стадии альфа тестирования чем потом переделывать . Система опенид или другая подобная, придумана для упрощения регистрации , но это просто, когда пользуешься одной системой. А когда на выбор предлагестя десяток, для входа на один сайт, то закономерно, возникнет желание объединить все акаунты в одном.
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Validoll

Зря вы так. Идея с прикрепление акков сложная, но может быть очень полезная...
Занимаюсь визуализацией модов и созданием рисунков-концептов для модификаций в разработке.
Что-то не работает? Проверьте права доступа к файлам.

BIOHAZARD

я, как и digger с 0daliska, никакой пользы от этого не вижу, только перегрузка функционала мода и путаница с учётками
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Validoll

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

В любом случае мод будет полезен и актуален.
Занимаюсь визуализацией модов и созданием рисунков-концептов для модификаций в разработке.
Что-то не работает? Проверьте права доступа к файлам.

Salvadoro

При попытке залогиниться по SteamID

array( 8) { ["username"]=>  bool(false) ["email"]=>  string(25) "@steamcommunity.com.local" ["password"]=>  string( 8) "хххххх" ["password_check"]=>  string( 8) "хххххх" ["interface"]=>  string(5) "guest" ["extra_register_vars"]=>  array(6) { ["real_name"]=>  string(46) "steamcommunity.com/openid/id/76561197992606972" ["website_title"]=>  string(53) "http://steamcommunity.com/openid/id/76561197992606972" ["website_url"]=>  string(53) "http://steamcommunity.com/openid/id/76561197992606972" ["hide_email"]=>  int(1) ["loginza_identity"]=>  string(53) "http://steamcommunity.com/openid/id/76561197992606972" ["loginza_provider"]=>  string(39) "https://steamcommunity.com/openid/login" } ["require"]=>  string(7) "nothing" ["check_password_strength"]=>  bool(false) }


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

А вообще очень жду этот мод.

GAVVVR


Drakonsa


nu11

Просто супер! Вошел с гугла, яндекса, контакта, все ок!

ДАЙ КОД В ЛС! ^_^

mixman


dako

Пожалуйста поделитесь модом =) очень интересная и нужная вещь...


dako

Цитата: digger от 30 сентября 2010, 16:15:50
Дел много, времени мало...
Эх, жаль очень..  :( мы без вас не разберемся, очень уж хорошо смотриться на демо форуме..
Уже давно жду от вас мода.. =)


Yworld_garry

Цитата: digger от 12 октября 2010, 04:38:01
На днях выложу тестовую версию для желающих попробовать.
Ух ты как я вовремя закончил отдыхать.

dako

Цитата: digger от 12 октября 2010, 04:38:01
На днях выложу тестовую версию для желающих попробовать.
Ждем с нетерпеньем..

yrygvay

У меня данный мод работает в такой связке Joomla + Jfusion+ SMF
изначально пользователь логинится в джумле потом автоматически происходит синхронизация пользователей джумлы с  jfusion и уже с помошью него можно залогиниться на smf.

Но проблема конечно остаётся что нет возможности свзать логины((((

Получилось в джумле у меня 1 новый логин мой, и в смф новый пользователь.
Music in Soul
Помогу с переездом с UCOZ

yrygvay

вот что нашёл на офиц форуме
Можем реализовать привязку дополнительного аккаунта через редактор профиля пользователя. Тоесть, чтобы привязать доп. учетную запись, пользователю нужно будет ее добавить в профиль.
это для других форумов.

Может и для нашего появится такое решение.

А вот и ещё одно предложение: (тоже с их форума)
предлагаю сделать так, если система говорит (находит) что этот логин уже занят, то дать возможность ввести пароль от логина, зарегистрированного на форуме. если пароль верный, связать с записью в таблице юзер... кстати там система станет еще универсальней. к примеру, у человека был OpenID ВКонтакте, а потом он по каким то причинам удалился оттуда или его там забанили (как и на майл.ру или еще где) и он заходит под другим OpenID и "пересвязывает" записи (при правильном пароле) или входит по старой схеме регистрации без OpenID
Music in Soul
Помогу с переездом с UCOZ

Semargl

а когда будет выложена рабочая версия мода? мы его так ждем  angel

vladok

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

marazm


yrygvay

#45
Ух ты интересное решение на IPboard .

Там при входе например с контакта и если этого пользователя раньше не было задаётся ещё пара параметров:

Сергей Олегович, вы уже здесь!
Вы вошли через Vkontakte в первый раз, поэтому нам необходимо получить еще немного информации о вас.
Вы можете либо создать новую учетную запись на форуме либо присоединить ваш Vkontakte аккаунт к уже существующей.

Создание новой учетной записи
Если у вас еще нет учетной записи на форуме, пожалуйста заполните следующие поля:

    * Введите имя пользователя

    * E-mail адрес
    * Подтверждение E-mail

    * ICQ
    * Из
    * Любимый стиль Какую музыку Вы предпочитаете? Выберете один из предложенных вариантов! P.S.: Не выберайте 2 одинаковых направления!
    * Любимый стиль



Возможно такое же реализовать!!?

p.s и у них на ipboard это похоже не на логинзе сделано!

Деделав нашими Высоко уважаемыми создателями мода это могло бы привлечь множество людей на форумы, потому-что пропадёт проблема регистрации.
Многих она отпугивает!!!!!!!!!

http://custom.simplemachines.org/mods/index.php?mod=2322
может этот мод можно переделать под контакт?
Music in Soul
Помогу с переездом с UCOZ

digger®

Цитата: yrygvay от 18 ноября 2010, 13:19:47
Там при входе например с контакта и если этого пользователя раньше не было задаётся ещё пара параметров:

Сергей Олегович, вы уже здесь!
Вы вошли через Vkontakte в первый раз, поэтому нам необходимо получить еще немного информации о вас.
Вы можете либо создать новую учетную запись на форуме либо присоединить ваш Vkontakte аккаунт к уже существующей.

Создание новой учетной записи
Если у вас еще нет учетной записи на форуме, пожалуйста заполните следующие поля:

    * Введите имя пользователя

    * E-mail адрес
    * Подтверждение E-mail

    * ICQ
    * Из
    * Любимый стиль Какую музыку Вы предпочитаете? Выберете один из предложенных вариантов! P.S.: Не выберайте 2 одинаковых направления!
    * Любимый стиль

Ну и смысл входить из Вконтакта, если при этом те же действия что и при обычной регистрации проходить?

yrygvay

Эти поля не обязательны.
Т.е они с лёгкостью пропускаются.

Music in Soul
Помогу с переездом с UCOZ


yrygvay

Music in Soul
Помогу с переездом с UCOZ