Перейти к содержимому


Фото
* * * * - 4 голосов

Авторизация через социальные сети

ulogin соц. Социальные сети авторизация

  • Чтобы отвечать, сперва войдите на форум
114 ответов в теме

#1 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 08:01

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

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

И так приступим.
В шаблон index.tpl в нужном Вам месте вставим следующий код:

<!-- Ulogin -->
<script src="http://ulogin.ru/js/ulogin.js"></script>
<div id="uLogin" data-ulogin="display=small;fields=first_name,last_name,email,phone,city;providers=vkontakte,facebook,odnoklassniki,mailru;hidden=other;redirect_uri=http://ваш-сайт.ru/user/login"></div>
<!-- end -->

 
 
В фале view/LoginView.php после 64-й строки вставим следующий код:

// Вход через ULogin
elseif(isset($_POST['token']))
{
$s = file_get_contents('http://ulogin.ru/token.php?token='.$_POST['token'].'&host='.$_SERVER['HTTP_HOST']);
$simpla = json_decode($s, true);

if (isset($simpla['identity'])) {
$name = $simpla['first_name'].' '.$simpla['last_name'];
$email = $simpla['email'];
$phone = $simpla['phone'];
$city = $simpla['city'];
$password = md5($simpla['identity'].'Noxter');

//проверяем есть ли в БД такой e-mail
$this->db->query('SELECT count(*) as count, id FROM __users WHERE email=?', $email);
$user_exists = $this->db->result();

if($user_id = $this->users->check_password($email, $password))
{
$user = $this->users->get_user($email);
if($user->enabled)
{
$_SESSION['user_id'] = $user_id;
header('Location: '.$this->config->root_url);
}
else
{
$this->design->assign('error', 'user_disabled');
}
}
elseif($user_exists->count)
{
$_SESSION['user_id'] = $user_exists->id;
header('Location: '.$this->config->root_url);
}
else
{
$user_id = $this->users->add_user(
array('name'=>$name,
'email'=>$email,
'password'=>$password,
'enabled'=>1)
);
$_SESSION['user_id'] = $user_id;
header('Location: '.$this->config->root_url);
}
}
}

 
Вроде бы все.
Проверяем отписываемся.



#2 iMessi89

iMessi89
  • Пользователь
  • 246 сообщений
  • Откуда:Екатеринбург

Опубликовано 04.04.2013 - 08:20

а чем отличается от платной версии?



#3 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 08:27

Ну я демо платной версии не видел и не щупал, я не думаю что есть отличия в функционале.



#4 iMessi89

iMessi89
  • Пользователь
  • 246 сообщений
  • Откуда:Екатеринбург

Опубликовано 04.04.2013 - 08:37

я имел ввиду от платного решения предложенного корсом чем отличается?



#5 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 08:47

>я имел ввиду от платного решения предложенного корсом чем отличается?
>Ну я демо платной версии не видел и не щупал, я не думаю что есть отличия в функционале.
Что из моей писанины Вы не поняли? Я Вам дал ответ на Ваш вопрос.



#6 Kosjak76

Kosjak76
  • Модератор
  • 3 548 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 04.04.2013 - 09:22

Ну не знаю, раньше все работало... Сейчас не знаю...



#7 Ruslan Kopyl

Ruslan Kopyl
  • Фрилансер
  • 128 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина, Харьков

Опубликовано 04.04.2013 - 09:29

А вместо того, чтоб такие бесполезные посты писать, не лучше ли затратить несколько минут и проверить, а потом уже высказываться по существу?

Это самому себе написано?? :))



#8 Ruslan Kopyl

Ruslan Kopyl
  • Фрилансер
  • 128 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина, Харьков

Опубликовано 04.04.2013 - 09:30

кажется нужно так

if (isset($simpla['identity']))

хотя конечно название $simpla лучше не использовать, но раз уж начали



#9 Ruslan Kopyl

Ruslan Kopyl
  • Фрилансер
  • 128 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина, Харьков

Опубликовано 04.04.2013 - 09:31

и в js

http://ваш-сайт.ru/user/login"



#10 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 09:37

Я прежде чем выкладывать поставил все на рабочий сайт и там все работает вполне нормально. Да вот ссылка http://atlet.com.ua.
Покажите скрин ошибки.



#11 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 09:39

кажется нужно так
if (isset($simpla['identity']))

Точно! Спасибо не заметил. Корс прав был вот из-за чего не работало.



#12 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 10:26

Если не шифровать пароль то любой сможет спокойно зайти под чужим пользователем. Ник Noxter служит солью в коде)))



#13 iMessi89

iMessi89
  • Пользователь
  • 246 сообщений
  • Откуда:Екатеринбург

Опубликовано 04.04.2013 - 10:30

меня лично немного другой вопрос мучает - а вообще народ пользуется нет авторизацией и регистрацией на интернет-магазинах?? Насколько полезная вещь?? Есть ответ?



#14 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 10:33

Кто установил себе, отпишитесь как работает.



#15 iMessi89

iMessi89
  • Пользователь
  • 246 сообщений
  • Откуда:Екатеринбург

Опубликовано 04.04.2013 - 10:57

у меня не работает



#16 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 04.04.2013 - 11:39

iMessi89 сбросьте в ЛС фтп доступ я посмотрю.



#17 Rash

Rash
  • Пользователь
  • 450 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Russian Federation

Опубликовано 04.04.2013 - 23:24

=D> Спасибо Noxter, все работает! Единственное поле телефон не заполняется, хотя в БД есть поле "phone" и профиле пользователя тоже..



#18 iMessi89

iMessi89
  • Пользователь
  • 246 сообщений
  • Откуда:Екатеринбург

Опубликовано 04.04.2013 - 23:45

кароче в IE8 нифига ulogin не работает. На хабре уже об этом писали. А через loginza делал кто?



#19 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 5 568 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 05.04.2013 - 01:08

Вечером еще раз все проверю. Да делал для действующего магазина и структура таблиц в БД изменилась.



#20 rapuk

rapuk
  • Пользователь
  • 8 сообщений
  • Версия CMS:2.x

Опубликовано 29.04.2013 - 16:20

Вечером еще раз все проверю. Да делал для действующего магазина и структура таблиц в БД изменилась.

 

Подскажите, пожалуйста, почему ваш вариант не желает работать? После авторизации через сервисы перебрасывает на страницу входа и ничего не происходит...







Также с меткой «ulogin, соц., Социальные, сети, авторизация»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых