cori 0 04/12/14 10:52 Добрый день!Хочу сделать регистрацию через Wargaming OpenID, но не получается это сделать. Пробовал ставить uLogin и Loginza, но это все не подходит, т.к. необходимо вводить адрес от ВГ.Просто хочу сделать кнопку или ссылку "Вход" которая будет перенаправлять на авторизацию на сайт Wargaming, а после подтверждения возвращать обратно на форум уже с ником игрока обратно ну и его регистрацией на моем форуме.Видел несколько форумов ipb которые реализовали это. Сам ВГ говорит, что такими хуками не занимается и обращайтесь в поддержку платформы.Если кто-то реализовал такую форму авторизации, то пожалуйста, поделитесь им. Все таки танковое сообщество очень большое и думаю данный хук будет многим полезен.Строго не судите меня, я в этом деле полный нуб. Поделиться сообщением Ссылка на сообщение
siv1987 2628 04/12/14 11:06 но это все не подходит, т.к. необходимо вводить адрес от ВГА что такого сложного ввести адрес от ВГ? openID в принципе так и работает https://ru.wargaming.net/support/Knowledgebase/Article/View/430/20/chto-tkoe-servis-openidТо, что вы описываете просто больше похоже на захардкоденные настройки с предопределенным адресом ВГ, но использующий тот же OpenID протокол. Кроме того, сам опенид клиент был убран IPS с 3.3x+, мотивируя тем, что библиотеки реализующие связь долго не обновляются и не соответствуют современным требованиям PHP. Видел несколько форумов ipb которые реализовали это. Спросить у администраторов форумов которые реализовали это? Поделиться сообщением Ссылка на сообщение
siv1987 2628 04/14/14 08:34 Сделайте ликбез что надо вводить. Поделиться сообщением Ссылка на сообщение
cori 0 04/26/14 13:25 Я получаю данные через OpenID и записываю его данные в базу.)))) А вот авторизовать не получается(((( Может кто знает как это сделать??? Поделиться сообщением Ссылка на сообщение
siv1987 2628 04/26/14 13:59 Авторизовать на основе чего? После валидации полученных данных создается новый аккаунт если его нету, где пользователь дальше логируется системой, вы лишь должны загрузить массив данных в $this->member_data. Посмотрите как это реализована в методе внешней авторизации /admin/sources/loginauth/external/auth.php, или в openID старых версиях Поделиться сообщением Ссылка на сообщение
cori 0 06/16/14 05:34 Данная функция реализована. Если есть интерес, то пишите в ЛС... Поделиться сообщением Ссылка на сообщение
siv1987 2628 06/16/14 11:34 Интересен сам способ реализации и технические решения, которые были применены. Расскажите немного по подробнее что в итоге у вас получилось. Поделиться сообщением Ссылка на сообщение
siv1987 2628 07/06/14 12:14 Этот openID то еще говно шнягой оказался.Хотел реанимировать старый модуль авторизации через него, но по мере изучения вопроса все больше понимаю почему разработчики его убрали. Система децентрализована (хотя это даже плюс), каждый openid провайдер работает с ним как хочет - кто-то в качестве адреса OP идентификатора использует урл с идентификатором пользователя pupkin.livejournal.com, кто-то без - ru.wargaming.net/id/, www.google.com/accounts/o8/id, кто-то отправляет email, кто-то вместо него nickname и тд. В таких условиях довольно трудно привязать авторизацию через openID к аккаунту на форуме, особенно если OP идентификатор является не уникальным. А IPS модуль писали с расчетом на то, что он будет уникальным и его можно будет привязать к аккануту. Но в случае с идентификатором ru.wargaming.net/id/ такое не выйдет - http://community.invisionpower.com/resources/bugs.html/_/ip-board/google-open-id-url-directed-identity-r26374 Разве что, как вариант, использовать в качестве привязки к аккануту хеш из md5( OP идентификатора + nickname ), если не писать для каждого сервиса отдельный интерфейс авторизации. Очень интересно что в этом плане у уважаемого ТС'а получилось, и как у него реализовано привязка к аккаунту. 1 Поделиться сообщением Ссылка на сообщение
danilka 7 07/07/14 04:14 Система децентрализована (хотя это даже плюс), каждый openid провайдер работает с ним как хочет - кто-то в качестве адреса OP идентификатора использует урл с идентификатором пользователя pupkin.livejournal.com, кто-то без - ru.wargaming.net/id/, www.google.com/accounts/o8/id, кто-то отправляет email, кто-то вместо него nickname и тд. Мы уже пришли к тому, что легче самим подключить авторизацию через любые соц. сети и объединить в нужный нам интерфейс. Благо, что практически все уже юзают OAuth 2.0, за исключением твиттера (у них OAuth 1) и ЖЖ Поделиться сообщением Ссылка на сообщение
siv1987 2628 07/07/14 17:24 Да я его начал то смотреть из-за ажиотажа вокруг него. В последнее время с стабильной регулярностью появляются темы с авторизацией через openid WG. Сделаю привязку к аккаунту форума на основе хеша identity_url + nickname, думаю такой хеш будет достаточно уникальным чтобы можно было идентифицировать пользователя с не уникальным OP идентификатором, как в случае Wargaming. Потом, может быть сделаю отдельный интерфейс для авторизации специально через WG, как фейсбука или вконтакте. Поделиться сообщением Ссылка на сообщение
siv1987 2628 07/07/14 19:56 Все оказалось проще, это IPS'овцы изначально немного заговнокодили и ввели людей в заблуждения. Они использовали для идентификатора identity_url урл который ввел пользователь (а в случае с WG и ему подобных это единый адрес для всех), хотя сервис в ответ возвращает параметр openid_claimed_id который является уникальным адресом пользователя (если верить инфы с стековерфлоу). Пожалуй откажусь от хеша в пользу claimed_id.Все сводится к тому, чтобы при валидации данных _checkFirstPass() задать для идентификатора $this->data_store['fullurl'] полученный от провайдера openid_claimed_id, а не тот адрес который ввел пользователь и хранится в таблице openid_temp. if( is_array($sreg) and count($sreg) ) { $this->data_store = array_merge( $this->data_store, $sreg ); } if( $this->request['openid_claimed_id'] ) { $this->data_store['fullurl'] = $this->request['openid_claimed_id']; } Поделиться сообщением Ссылка на сообщение
siv1987 2628 07/07/14 20:44 Собственно кто хочет протестировать http://ipbskins.ru/forum/index.php?app=core&module=global§ion=login&serviceClick=openidOpenID: ru.wargaming.ru/id илиhttp://ipbskins.ru/forum/index.php?app=core&module=global§ion=login&serviceClick=wargaming Поделиться сообщением Ссылка на сообщение
viktor6 0 08/23/14 07:26 не работает У WG появилась новая авторизация через API http://habrahabr.ru/post/233957/ Поделиться сообщением Ссылка на сообщение
siv1987 2628 08/23/14 17:26 не работаетОпенид здесь отключен. Без него авторизация через wargaming не работает (профиль у форума не тот). Поделиться сообщением Ссылка на сообщение