berpcor / Sauth

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sauth

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

Расширение, необходимое для авторизации через социальные сети. Поддерживаются: vk, odnoklassniki, facebook, google, yandex, mailru.

Требования.

Данное расширение устанавливается тогда, когда создана стандартная регистрация (например, штатными средствами Laravel). Оно добавляет в существующую таблицу (она должна называться users) нужные поля. Файл миграции - в комплекте. Также, в таблице должно присутствовать поле name. Оно не создается в миграции, но необходимо. Как правило, оно стандартно для всех таблиц пользователей.

Установка.

После установки с помощью composer'а, необходимо добавить сервис провайдер в файл config/app.php

'Berpcor\Sauth\SauthServiceProvider',

Использование.

Указываются настройки для необходимых социальных сетей. После этого в нужном месте на нужной странице нужно сгенерировать ссылку для авторизации.

Sauth::linkFor('имя-соц-сети');

Возможные варианты: vk, odnoklassniki, facebook, google, yandex, mailru.

Эту ссылку нужно вставить в атрибут href.

В настройках указывается, в том числе, и URI, на который будет происходить переадресация. Для этого URI должен быть создан маршрут. В контроллере или замыкании для этого маршрута должен быть вызван метод Sauth::attemptVia('имя-соц-сети'). Имя соц. сети - то же самое, что и при генерации ссылки.

При удачной авторизации - получении токена - происходит прозрачный процесс регистрации. Если пользователя с таким социальным ID нет в таблице пользователей, то происходит его добавление с некоторой информацией (). Если пользователь с таким социальным ID существует, то происходит проверка актуальности данных о нем в БД и если данные были обновлены пользователем в социальной сети, то эти же данные обновляются и в БД сайта. В результате происходит авторизация пользователя станартным классом Auth.

About

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


Languages

Language:PHP 100.0%