exxxar/esia-laravel is a Laravel package for esia connector for laravel framework.
It currently has 1 GitHub stars and 0 downloads on Packagist.
Install it with composer require exxxar/esia-laravel.
Discover more Laravel packages by exxxar
or browse all Laravel packages to compare alternatives.
Last updated
Пакет находится в разработке, версия альфа. Доступно получение имени и идентификатора (oid) пользователя в системе.
Используется Laravel Socialite.
С использованием Composer:
composer require exxxar/esia-laravel
После установки опубликовать файл конфигурации, который будет доступен как config/esia.php:
php artisan vendor:publish --tag=esia
В этом файле можно установить переменные:
redirectUrl - url, куда будет отправлен пользователь после разрешения на сайте ЕСИА
scope - набор разрешений, по умолчанию установлено ['fullname', 'birthdate']
signer - доступны два варианта подписи через OpenSsl: 1) Через функции расширения в php 2) Через cli. По умолчанию используется второй. Класс первого - Esia\Signer\SignerPKCS7
tmpPath - путь для создания временного файла с подписанным содержимым
В файле .env добавить значения для следующих переменных:
ESIA_TEST - режим работы (тестовый/боевой = true/false)
ESIA_CLIENT_ID - clientId или мнемоника в терминах ЕСИА
ESIA_CERT_PATH - путь к файлу сертификата
ESIA_PRIVATE_KEY_PATH - путь к файлу приватного ключа
ESIA_PRIVATE_KEY_PASSWORD - парольная фраза для файла приватного ключа
Ниже приведён вариант использования stateless, то есть хранение токена определяется приложением.
Получение объекта драйвера:
$driver = Socialite::driver('esia')
Создание ссылки для перенаправления пользователя:
$redirectUrl = Socialite::driver('esia')->stateless()->buildUrl()
Получение объекта пользователя OAuth:
$user = Socialite::driver('esia')->stateless()->user()
Исходные полученные данные хранятся в $user->user
Поскольку это адаптер библиотеки fr05t1k/esia для Laravel, выражаю благодарность fr05t1k и участникам разработки за открытый код и лицензию.
MIT. Пользуйся на здоровье :)