Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.

[3.1][3.2] Авторизация через социальные сети для phpBB3.x

Здесь авторы могут постить бета-версии своих расширений для phpBB. Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3219
Стаж: 12 лет 1 месяц
Благодарил (а): 702 раза
Поблагодарили: 152 раза

[3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение southklad »

Анвар опубликовал бесплатно данное расширение.

Мод и расширения для phpBB 3.0 - 3.1 - 3.2 , позволяющие регистрироваться и авторизоваться пользователям через социальные сети.
В данный момент используется основные источники: Вконтакте, Одноклассники, Yandex, Mail.Ru и также дополнительные Facebook, Google, последние два часто обновляют свои API их постоянная работа не гарантирована.
Возможности 
  • Регистрация пользователей, с последующей возможностью входа
  • Пользователю устанавливаются аватары и подписи.
  • Осуществляется проверка на существование имени пользователя и e-mail в базе данных.
  • Заполнение пользователями дополнительных полей профиля если они установлены и являются обязательными.
  • Отправка e-mail пользователю с указанием провайдера авторизации, имени пользователя и пароля, а также адреса форума.
  • Авторизация пользователей, с привязкой аккаунтов
  • Пользователи могут подключить все свои аккаунты соц сетей в личном разделе.
  • Пользователи могут удалить подключённые аккаунты социальных сетей.
  • Пользователи могут обновить или заменить данные аккаунтов социальных сетей.
  • Пользователи могут входить на форум через социальные сети, без ввода логина и пароля.
  • Полное управление администратором
  • Статистические данные о количестве регистраций и оставленных сообщений.
  • Возможность удалить аккаунты соц сетей у пользователя или подключённые аккаунты у всех пользователей.
  • Включить регистрацию пользователей через социальные сети или только авторизация уже зарегистрированными пользователями.
  • Загрузка аватар на сервер или использование внешних аватар, если они получены с социальных сетей.
  • Сохранение статусов пользователей в подписи или отключение этой возможности.
  • Обновление данных об аватарах и статусах при следующей авторизации или отключение этой возможности.
  • Отправка приветственного личного сообщения пользователям при регистрации через социальные сети.
  • Возможность включить всплывающее окно при нажатии пользователем на ссылку Вход.
  • Отключение отображения иконки социальной сети(откуда пришёл пользователь) в теме, перед датой регистрации.
  • Права доступа для зарегистрированных пользователей имеющих право подключать аккаунты социальных сетей. По умолчанию администраторы и модераторы не имеют таких прав.
  • Включение каждой социальной сети в отдельности.
  • Выбор группы конференции которая будет назначена по умолчанию пользователям, для каждой социальной сети.
  • Ошибки и безопасность
  • Пользователь зарегистрированный через социальную сеть не сможет отключить аккаунт, он будет установлен по умолчанию для дальнейшего входа на форум.
  • Один аккаунт социальной сети не может быть подключён двумя пользователями форума. Пользователь не сможет подключить аккаунт социальной сети, если он подключён и является основным у другого пользователя.
  • Пользователь не сможет подключить чужой аккаунт социальной сети. Для подключения необходимо быть авторизованным в социальной сети, перейти по специальной ссылке и получить уникальный ключ, который будет использован для получения токена, последний для получения данных об аккаунте в автоматическом режиме.
  • Пользователи не могут видеть данные социальных аккаунтов других пользователей, за исключением ссылки на страницу в социальной сети. Пользователи могут удалить или заменить свою ссылку в личном разделе.
Требования 
  • Поддерживаемые версии phpBB: 3.0.11-3.0.13 (возможно и ранние версии), 3.1.1 - 3.1.x, 3.2.x
  • Обязательные модули PHP: JSON, cURL(Возможна замена на fsockopen).
 
Описание настроек Автоматическая регистрация и авторизация через социальные сети на форуме phpBB v3.1
 
Вероятны проблемы с facebook из-за обновления API!
 
Важная инфа о настройке Одноклассников 
Shredder писал(а): 05.09.2023 18:31 Ещё во время настройки надо писать на их почту поддержки api-support@odnoklassniki.ru и просить выдать право GET_EMAIL для приложения.
 
Последняя версия под phpBB 3.3, с учётом всех поправок, описанных в этой теме на 25 сен 2023:
bb3mobi-social--2023.09.25--1.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Nekstati 25.09.2023 19:30, всего редактировалось 2 раза.
Изображение
mitas1
phpBB 1.2.1
Сообщения: 24
Стаж: 8 лет 7 месяцев

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение mitas1 »

друзья, подскажите ламеру, все сделал по инструкции, но при нажатии на кн. ВК что бы авторизоваться, выдает:

{"error":"invalid_request","error_description":"invalid scope"}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
:)
er107
phpBB 2.0.14
Сообщения: 968
Стаж: 12 лет 10 месяцев
Благодарил (а): 164 раза
Поблагодарили: 43 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение er107 »

Для всех этих авторизаций нужен безопасный протокол https, насколько помню. Я лично все эти авторизации через соцсети отключил, периодически соцсети что-то меняют и она отваливается.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3219
Стаж: 12 лет 1 месяц
Благодарил (а): 702 раза
Поблагодарили: 152 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение southklad »

mitas1, Это не пробовали? Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Отправлено спустя 4 минуты 32 секунды:
Так же нужно создавать Standalone-приложение
Изображение
mitas1
phpBB 1.2.1
Сообщения: 24
Стаж: 8 лет 7 месяцев

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение mitas1 »

igorbond писал(а): 07.05.2022 20:13 Это не пробовали? Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x
пробовали, все равно не работает.
:)
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3219
Стаж: 12 лет 1 месяц
Благодарил (а): 702 раза
Поблагодарили: 152 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение southklad »

Ну не знаю, у меня всё норм работает
Изображение
mitas1
phpBB 1.2.1
Сообщения: 24
Стаж: 8 лет 7 месяцев

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение mitas1 »

igorbond писал(а): 07.05.2022 23:30 Ну не знаю, у меня всё норм работает
я как правильно произносится php только недавно стал правильно произносить... я к тому что я ламо полное :) видимо где то https надо включать, но я забью на это. Ладно всем спасибо, пока не буду этим заниматься :rtfm: почитаю еще матчасть :rule:
:)
Rakot
phpBB 1.0.0
Сообщения: 1
Стаж: 1 год 3 месяца
Благодарил (а): 1 раз

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение Rakot »

Доброго времени суток! Движок версии 3.3.8. Установил расширение, настроил, произвел тестовую регистрацию. Вроде все нормально!
Единственный вопрос: как удалить или хотя бы скрыть блок отмеченный красным?!
Изображение
https://disk.yandex.ru/i/a8KeSCstkIOT2A
ciiz1
phpBB 2.0.4
Сообщения: 439
Стаж: 6 лет 6 месяцев
Благодарил (а): 102 раза
Поблагодарили: 34 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение ciiz1 »

Не пойму как привязать аккаунт к социальной сети, если уже зарегистрирован?
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3219
Стаж: 12 лет 1 месяц
Благодарил (а): 702 раза
Поблагодарили: 152 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение southklad »

ciiz1, Личный раздел - Профили - Мои аккаунты
Изображение
ciiz1
phpBB 2.0.4
Сообщения: 439
Стаж: 6 лет 6 месяцев
Благодарил (а): 102 раза
Поблагодарили: 34 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение ciiz1 »

Там и искал, то ли глаза косые :ugeek: , то ли глюк, что то нету. Ну ладно спасибо
Shredder
Former team member
Сообщения: 2216
Стаж: 15 лет 2 месяца
Благодарил (а): 123 раза
Поблагодарили: 134 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение Shredder »

Для одноклассников код теперь такой. Поправьте, пожалуйста, версию 3.0.0

Код: Выделить всё

<?php
/**
*
* @package phpBB3.1 Social Authorize Ok.Ru
* @copyright bb3.mobi (c) 2014 Anvar (http://apwa.ru)
* @license COMMERCIAL
*
*/

namespace bb3mobi\social\controller;

class okru
{
	/** @var \phpbb\config\config */
	protected $config;

	/** @var \phpbb\user */
	protected $user;

	/** @var \phpbb\request\request_interface */
	protected $request;

	/** @var \phpbb\controller\helper */
	protected $helper;

	/** @var ext\bb3mobi\social\core\api */
	private $api;

	public function __construct(\phpbb\config\config $config, \phpbb\user $user, \phpbb\request\request_interface $request, \phpbb\controller\helper $helper, $api)
	{
		$this->config = $config;
		$this->user = $user;
		$this->request = $request;
		$this->helper = $helper;
		$this->api = $api;
	}

	public function request()
	{
		if (!$this->config['okru_config'])
		{
			trigger_error($this->user->lang['SOC_MESSAGE_OFF']);
		}

		$redirect_uri = $this->helper->route('bb3mobi_social_okru', array(), false, '', 0);

		$token = $this->request->variable('token', '');
		$code = $this->request->variable('code', '');
		if (!empty($token) && !$this->user->data['is_registered'])
		{
			$tokens = array('access_token' => $token);
		}
		else if (!empty($code))
		{
			$params = array(
				'client_id' => $this->config['okru_id'],
				'client_secret' => $this->config['okru_secret'],
				'grant_type' => 'authorization_code',
				'code' => $code,
				'scope' => 'GET_EMAIL',
				'redirect_uri' => $redirect_uri
			);

			// $tokens = json_decode($this->api->curl_post('https://api.odnoklassniki.ru/oauth/token.do', $params), true);
			$tokens = json_decode($this->api->curl_post('https://api.ok.ru/oauth/token.do', $params), true);
			if (empty($tokens['access_token']))
			{
				trigger_error($this->user->lang['SOC_MESSAGE_TOKEN']);
			}
		}
		else
		{
			$okru = array(
				'client_id' => $this->config['okru_id'],
				'response_type' => 'code',
				'scope' => 'GET_EMAIL',
				'redirect_uri' => $redirect_uri
			);
			// redirect($this->api->build_url_query('https://www.odnoklassniki.ru/oauth/authorize', $okru), false, true);
			redirect($this->api->build_url_query('https://connect.ok.ru/oauth/authorize', $okru), false, true);
		}

		$sig = md5("application_key={$this->config['okru_public']}format=jsonmethod=users.getCurrentUser" . md5("{$tokens['access_token']}{$this->config['okru_secret']}"));

		$params = array(
			'method'			=> 'users.getCurrentUser',
			'format'			=> 'json',
			'application_key'	=> $this->config['okru_public'],
			'access_token'		=> $tokens['access_token'],
			'sig'				=> $sig,
		);

		// $socprofile = json_decode($this->api->build_url_query('https://api.odnoklassniki.ru/fb.do', $params, true), true);
		$socprofile = json_decode($this->api->build_url_query('https://api.ok.ru/fb.do', $params, true), true);

		if (empty($socprofile['uid']))
		{
			trigger_error(sprintf($this->user->lang['SOC_MESSAGE_ACC'], $this->user->lang['SOC_AUTH_ARY']['okru']));
		}

		$this->api->social_register(array(
				'socid'			=> $socprofile['uid'],
				'nickname'		=> $socprofile['name'],
				'first_name'	=> $socprofile['first_name'],
				'last_name'		=> $socprofile['last_name'],
				'email'			=> ((!empty($socprofile['email'])) ? $socprofile['email'] : ''),
				'sex'			=> ((!empty($socprofile['gender'])) ? $socprofile['gender'] : ''),
				'dob'			=> ((!empty($socprofile['birthday'])) ? $socprofile['birthday'] : ''),
				'avatar'		=> ((!empty($socprofile['pic_3'])) ? $socprofile['pic_3'] : @$socprofile['pic_2']),
				'status'		=> ((!empty($socprofile['current_status'])) ? $socprofile['current_status'] : ''),
				// 'website'		=> 'https://www.ok.ru/profile/' . $socprofile['uid'],
				'website'		=> 'https://ok.ru/profile/' . $socprofile['uid'],
				'provider'		=> 'okru',
				'group'			=> $this->config['okru_group'],
				'token'			=> $tokens['access_token'],
			)
		);
	}
}
Ещё во время настройки надо писать на их почту поддержки api-support@odnoklassniki.ru и просить выдать право GET_EMAIL для приложения.

Отправлено спустя 3 минуты 54 секунды:
ciiz1 писал(а): 07.02.2022 10:14 "Не получены данные аккаунта Вконтакте"
Вчера авторизация через ВК перестала работать. Браузер firefox
У меня тоже было это. Помог совет ниже:
southklad писал(а): 15.09.2021 19:51 Проблема с авторизацией и регистрацией из за обновления API в ВК, как решить проблему?

Отправлено спустя 9 минут 40 секунд:
Решил вопрос:

В файле /ext/bb3mobi/social/controller/vkontakte.php

Код: Выделить всё

'v' => '5.73',
Заменить на

Код: Выделить всё

'v' => '5.131',
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3306
Стаж: 14 лет 11 месяцев
Благодарил (а): 22 раза
Поблагодарили: 569 раз

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение Nekstati »

Файл в первом сообщении темы обновлён с учётом всех исправлений, предложенных тут. Должно работать всё, кроме Фейсбука.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3219
Стаж: 12 лет 1 месяц
Благодарил (а): 702 раза
Поблагодарили: 152 раза

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение southklad »

А какие это улучшения и исправления? Значок Яшки нигде не отображается
image.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
romeo_piter
phpBB 2.0.20
Сообщения: 1269
Стаж: 14 лет 10 месяцев
Благодарил (а): 143 раза
Поблагодарили: 20 раз

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение romeo_piter »

Скачал, установил.
При попытке перейти на любую вкладку в админке кроме основных настроек (vk, google) выдает такое:

Код: Выделить всё

Общая ошибка
SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC' at line 4 [1064]

SQL

SELECT group_id, group_name, group_type FROM phpbb_groups WHERE group_name NOT IN('ADMINISTRATORS', 'GLOBAL_MODERATORS', 'BOTS', 'GUESTS') GROUP BY group_id ASC

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 1023
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 202
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 345
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/ext/bb3mobi/social/acp/social_module.php
LINE: 452
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/includes/functions_acp.php
LINE: 359
CALL: bb3mobi\social\acp\social_module->group_select()

FILE: [ROOT]/ext/bb3mobi/social/acp/social_module.php
LINE: 423
CALL: build_cfg_template()

FILE: [ROOT]/includes/functions_module.php
LINE: 676
CALL: bb3mobi\social\acp\social_module->main()

FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
Версия форума 3.3.10
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16293
Стаж: 17 лет 9 месяцев
Откуда: Красноярск
Благодарил (а): 514 раз
Поблагодарили: 1720 раз

Re: [3.1][3.2] Авторизация через социальные сети для phpBB3.x

Сообщение rxu »

romeo_piter писал(а): 25.09.2023 18:32 выдает такое
Там ошибка в SQL запросе. Перезалил архив в первом сообщении темы, проверяйте.
Изображение

Вернуться в «Бета-версии расширений для phpBB»