Jump to content

Проверка пользователя ipb 3


Samael73
 Share

Recommended Posts

Здравствуйте. Хочу сделать регистрацию через OpenID. Регистрацию сделал. С другого сайта приходи его никнейм. как сделать проверку того, есть ли такой ник уже в базе? если есть, то изменить данные по этому никнейму, а если нет, то создать в базе данных

Link to comment
Share on other sites

А каким образом вы ее делали? Насколько я знаю, в модуле авторизации openid все было уже реализовано.

Самый простой способ - сделать простейший запрос к таблице members проверяя поле name или members_l_username. Либо использовать апи форума, где в классе members есть функция для чекинга пользователя.

 

то изменить данные по этому никнейму

А если профиль не принадлежит этому никнейму? Менять имхо нужно только по какому-то токену который привязывается к аккаунта на форуме

Link to comment
Share on other sites

$member_id=1265;

$member = IPSMember::load( $member_id );

echo $members['name'] ;

 

что в этом коде неправильно? может что я неправильно делаю?

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

Link to comment
Share on other sites

Все в принципе правильно, за счетом того что вы добавили лишний s в конце массива $member. Ну и мало смысловой нагрузки носит этот код.

 

Посмотрите в версиях 3.3 там был встроенный openid

Link to comment
Share on other sites

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

Link to comment
Share on other sites

вопрос: никнейм с другого сайта пришел. в базе его сохранил, как мне авторизовать его после этого?

Link to comment
Share on other sites

Аналогичный вопрос http://ipbskins.ru/forum/topic12872.html

 

Если как описали вы то - создаете новый аккаунт (сохранил никнейм в базу), берете его ид и авторизируйте методом loginWithoutCheckingCredentials класса han_login

 

Если как модуль авторизации - создаете новый аккаунт (сохранил никнейм в базу), если валидация и прочее прошло успешно загружаете в $this->member_data массив данных этого пользователя. Система сама дальше его авторизирует.

 

Все зависит от способа вашей реализации.

Пример на основе авторизации из внешней бд - /admin/sources/loginauth/external/auth.php

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...