Download the PHP package greenkey/esia without Composer
On this page you can find all versions of the php package greenkey/esia. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download greenkey/esia
More information about greenkey/esia
Files in greenkey/esia
Informations about the package esia
Единая система идентификации и аутентификации (ЕСИА) OpenId
Fork cryptopro
Описание
Компонент для авторизации на портале "Госуслуги". Добавлен механизм подписания с помощью Crypto Pro, получение данных организации, механизм обновления токенов ЕСИА (пока экспериментально, тестируется) Добавлено получение данных об МЧД (машиночитаемая доверенность) пока в стадии тестов Спасибо fr05t1k/esia
Для работы необходимо установить cryptcp и сконфигурировать закрытый (секретный) ключ и сертфикат Выбор сертификата происходит по отпечатку (хэшу)
Описание установки и настройки cryptcp в процессе. Для формирования подписи используются механизмы Крипто Про (ГОСТ)
Внимание!
Получив токен вы можете выполнять любые API запросы. Библиотека не поддерживает все существующие методы в API, а предоставляет только самые базовые. Основная цель библиотеки - получение токена. Добавлен механизм получения данных организаций, в которых пользователь присутствует и возможность подписи запросов с помощью утилиты Crypto Pro.
Установка
При помощи composer:
Или добавьте в composer.json
Как использовать
Пример получения ссылки для авторизации
После редиректа на ваш redirectUrl
вы получите в $_GET['code']
код для получения токена
Пример получения токена и информации о пользователе
Конфиг
clientId
- ID вашего приложения.
redirectUrl
- URL куда будет перенаправлен ответ с кодом.
portalUrl
- по умолчанию: https://esia-portal1.test.gosuslugi.ru/
. Домен портала для авторизация (только домен).
codeUrlPath
- по умолчанию: aas/oauth2/ac
. URL для получения кода.
tokenUrlPath
- по умолчанию: aas/oauth2/te
. URL для получение токена.
scope
- по умолчанию: fullname birthdate gender email mobile id_doc snils inn
. Запрашиваемые права у пользователя.
privateKeyPath
- путь до приватного ключа.
privateKeyPassword
- пароль от приватного ключа.
certPath
- путь до сертификата.
tmpPath
- путь до директории где будет проходить подпись (должна быть доступна для записи).
Токен и oid
Токен - jwt токен которые вы получаете от ЕСИА для дальнейшего взаимодействия
oid - уникальный идентификатор владельца токена
Как получить oid?
Если 2 способа:
- oid содержится в jwt токене, расшифровав его
- После получения токена oid сохраняется в config и получить можно так
Переиспользование Токена
Дополнительно укажите токен, рефреш и идентификатор в конфиге
All versions of esia with dependencies
guzzlehttp/guzzle Version ^6.1.0|^7.3
psr/log Version ^1.0
psr/http-message Version ^1.0
psr/http-client Version ^1.0
ext-json Version *