===== Автоматическая регистрация и авторизация через социальные сети на форуме phpBB v3.1. Часть 2.4. Подключение "Одноклассники" ===== Для подключения форума к учётной записи социальной сети **Одноклассники** мы предварительно должны создать в этой социальной сети отдельную учётную запись, от имени которой будет настроено подключение. Предположительно, это будет учётная запись для человека, являющегося администратором форума **phpBB**. Залогинившись в социальную сеть от имени этой учётной записи перейдём по ссылке: [[http://ok.ru/devaccess]] Здесь сначала нам потребуется получить статус разработчика приняв условиями соглашения: {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-131742.png }} Перед созданием приложения обязательно проверим почтовый адрес в нашем профиле пользователя социальной сети, так как именно на него после создания приложения будут высланы данные об этом приложении необходимые нам для работы с API "Одноклассников" с форума. Переходим по указанной ссылке и выбираем **Добавить приложение** {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-131920.png }} Сразу здесь мы увидим предупреждение про что API "Одноклассников" доступны только по протоколу **HTTPS**: {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-131944.png }} В веб-форме заполним ряд полей. Введём **Название** форума, **Короткое имя** (уникальный адрес приложения в соц.сети). В поле **Описание** введём любое произвольное описание форума. **Тип приложения** – **External**. {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132002.png }} Ниже введём ссылки на эмблему форума в форматах 128*128,50*50,18*18. В поле **Ссылка на приложение** – полный URL адрес форума. В **Список разрешённых redirect_uri** - адрес куда будет перенаправлен пользователь в набором учётных данных из социальной сети. Формат для **phpBB 3.1**: **http://my.forum/authorize?okru** Формат для **phpBB 3.2** (версия расширения **3.0.0**): **https://my.forum/app.php/authorize/okru** Включим опцию **Клиентская OAuth авторизация**: {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132049.png }} Ниже укажем **Статус** приложения как **Скрытое** и нажмём кнопку **Сохранить** {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132110.png }} После этого мы получим сообщение о том, что на наш электронный адрес (указанный в профиле на "Одноклассниках") выслано письмо с настройками доступа к созданному приложению: {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132133.png }} В письме будет изложена информация **Application ID**, **Публичный ключ приложения** и **Секретный ключ приложения**. Внимание!\\ Никому не сообщайте полученные данные о **Секретном ключе** приложения. {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132208.png }} Теперь переходим в **Административный раздел** форума на вкладку **НАСТРОЙКА РАСШИРЕНИЙ** > Раздел **СОЦИАЛЬНАЯ АВТОРИЗАЦИЯ** > **Одноклассники** Здесь включим авторизацию через **Одноклассники** и укажем ранее полученные данные **ID приложения**, **Секретный ключ приложения** и **Публичный ключ приложения**. Группа доступа для новых регистрируемых через социальную сеть пользователей – **По умолчанию**. Сохраним изменения кнопкой **Отправить** {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132233.png }} На этом настройку интеграции авторизации форума phpBB c социальной сетью можно считать выполненной. Остаётся проверить результат. Для проверки можно создать в социальной сети **Одноклассники** тестового пользователя, залогиниться с его учётными данными в социальной сети, а затем перейти на форум и в правом верхнем углу нажать кнопку входа: {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132251.png }} Форум перенаправит пользователя на страницу входа социальной сети, где пользователю будет задан вопрос о согласии с тем, что Форум запрашивает учётные данные пользователя из базы данных социальной сети. {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132307.png }} На данном этапе, в процессе автоматической регистрации пользователя на форуме phpBB возникнет исключение связанное с тем, что API "Одноклассников" не возвращают **email** адрес пользователя социальной сети. Об этом пользователь получить соответствующее предупреждение и ему потребуется ввести свой адрес электронной почты (тот же что используется в профиле социальной сети) вручную. {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132332.png }} После этого процедура регистрации пользователя на форуме будет завершена и пользователь войдёт на форум: {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132356.png }} Если пользователь перейдёт в раздел личных настроек в **Профиль** > **Мои аккаунты**, то сможет увидеть информацию о подключении к локальной учётной записи форума аккаунта социальной сети **Одноклассники**: {{ :phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1:pasted:20160411-132426.png }} В процессе автоматической регистрации на почтовый ящик пользователя указанный в ходе регистрации придёт письмо, в котором будет содержаться имя пользователя и пароль в локальной базе пользователей форума phpBB на тот случай, если авторизация через социальную сеть по какой-то причине окажется неработоспособной. Все последующие входы пользователя на форум будут выполняться в автоматическом режиме без излишних запросов. [[:phpbb:automatic-registration-of-new-users-and-authorization-by-social-networks-facebook-google-vk-yandex-mail-ru-ok-in-phpbb3-3-1|Перейти в оглавление...]] ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 11.04.2016 13:15 {{tag>phpBB phpBB3 Authorization "Social Network" Odnoklassniki Одноклассники}} ~~DISCUSSION~~