cori Posted April 12, 2014 Share Posted April 12, 2014 Добрый день!Хочу сделать регистрацию через Wargaming OpenID, но не получается это сделать. Пробовал ставить uLogin и Loginza, но это все не подходит, т.к. необходимо вводить адрес от ВГ.Просто хочу сделать кнопку или ссылку "Вход" которая будет перенаправлять на авторизацию на сайт Wargaming, а после подтверждения возвращать обратно на форум уже с ником игрока обратно ну и его регистрацией на моем форуме.Видел несколько форумов ipb которые реализовали это. Сам ВГ говорит, что такими хуками не занимается и обращайтесь в поддержку платформы.Если кто-то реализовал такую форму авторизации, то пожалуйста, поделитесь им. Все таки танковое сообщество очень большое и думаю данный хук будет многим полезен.Строго не судите меня, я в этом деле полный нуб. Link to comment Share on other sites More sharing options...
siv1987 Posted April 12, 2014 Share Posted April 12, 2014 но это все не подходит, т.к. необходимо вводить адрес от ВГА что такого сложного ввести адрес от ВГ? openID в принципе так и работает https://ru.wargaming.net/support/Knowledgebase/Article/View/430/20/chto-tkoe-servis-openidТо, что вы описываете просто больше похоже на захардкоденные настройки с предопределенным адресом ВГ, но использующий тот же OpenID протокол. Кроме того, сам опенид клиент был убран IPS с 3.3x+, мотивируя тем, что библиотеки реализующие связь долго не обновляются и не соответствуют современным требованиям PHP. Видел несколько форумов ipb которые реализовали это. Спросить у администраторов форумов которые реализовали это? Link to comment Share on other sites More sharing options...
cori Posted April 13, 2014 Author Share Posted April 13, 2014 Не все поймут что надо вводить! Link to comment Share on other sites More sharing options...
siv1987 Posted April 14, 2014 Share Posted April 14, 2014 Сделайте ликбез что надо вводить. Link to comment Share on other sites More sharing options...
cori Posted April 26, 2014 Author Share Posted April 26, 2014 Я получаю данные через OpenID и записываю его данные в базу.)))) А вот авторизовать не получается(((( Может кто знает как это сделать??? Link to comment Share on other sites More sharing options...
siv1987 Posted April 26, 2014 Share Posted April 26, 2014 Авторизовать на основе чего? После валидации полученных данных создается новый аккаунт если его нету, где пользователь дальше логируется системой, вы лишь должны загрузить массив данных в $this->member_data. Посмотрите как это реализована в методе внешней авторизации /admin/sources/loginauth/external/auth.php, или в openID старых версиях Link to comment Share on other sites More sharing options...
cori Posted June 16, 2014 Author Share Posted June 16, 2014 Данная функция реализована. Если есть интерес, то пишите в ЛС... Link to comment Share on other sites More sharing options...
siv1987 Posted June 16, 2014 Share Posted June 16, 2014 Интересен сам способ реализации и технические решения, которые были применены. Расскажите немного по подробнее что в итоге у вас получилось. Link to comment Share on other sites More sharing options...
siv1987 Posted July 6, 2014 Share Posted July 6, 2014 Этот 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 Link to comment Share on other sites More sharing options...
danilka Posted July 7, 2014 Share Posted July 7, 2014 Система децентрализована (хотя это даже плюс), каждый openid провайдер работает с ним как хочет - кто-то в качестве адреса OP идентификатора использует урл с идентификатором пользователя pupkin.livejournal.com, кто-то без - ru.wargaming.net/id/, www.google.com/accounts/o8/id, кто-то отправляет email, кто-то вместо него nickname и тд. Мы уже пришли к тому, что легче самим подключить авторизацию через любые соц. сети и объединить в нужный нам интерфейс. Благо, что практически все уже юзают OAuth 2.0, за исключением твиттера (у них OAuth 1) и ЖЖ Link to comment Share on other sites More sharing options...
siv1987 Posted July 7, 2014 Share Posted July 7, 2014 Да я его начал то смотреть из-за ажиотажа вокруг него. В последнее время с стабильной регулярностью появляются темы с авторизацией через openid WG. Сделаю привязку к аккаунту форума на основе хеша identity_url + nickname, думаю такой хеш будет достаточно уникальным чтобы можно было идентифицировать пользователя с не уникальным OP идентификатором, как в случае Wargaming. Потом, может быть сделаю отдельный интерфейс для авторизации специально через WG, как фейсбука или вконтакте. Link to comment Share on other sites More sharing options...
siv1987 Posted July 7, 2014 Share Posted July 7, 2014 Все оказалось проще, это 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']; } Link to comment Share on other sites More sharing options...
siv1987 Posted July 7, 2014 Share Posted July 7, 2014 Собственно кто хочет протестировать 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 Link to comment Share on other sites More sharing options...
viktor6 Posted August 23, 2014 Share Posted August 23, 2014 не работает У WG появилась новая авторизация через API http://habrahabr.ru/post/233957/ Link to comment Share on other sites More sharing options...
siv1987 Posted August 23, 2014 Share Posted August 23, 2014 не работаетОпенид здесь отключен. Без него авторизация через wargaming не работает (профиль у форума не тот). Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now