fr05t1k/esia
Composer 安装命令:
composer require fr05t1k/esia
包简介
OpenID ESIA authenticating
README 文档
README
Описание
Компонент для авторизации на портале "Госуслуги".
Внимание!
Получив токен вы можете выполнять любые API запросы. Библиотека не поддерживает все существующие методы в API, а предоставляет только самые базовые. Основная цель библиотеки - получение токена.
Установка
При помощи composer:
composer require --prefer-dist fr05t1k/esia
Или добавьте в composer.json
"fr05t1k/esia" : "^2.0"
Как использовать
Пример получения ссылки для авторизации
<?php $config = new \Esia\Config([ 'clientId' => 'INSP03211', 'redirectUrl' => 'http://my-site.com/response.php', 'portalUrl' => 'https://esia-portal1.test.gosuslugi.ru/', 'scope' => ['fullname', 'birthdate'], ]); $esia = new \Esia\OpenId($config); $esia->setSigner(new \Esia\Signer\SignerPKCS7( 'my-site.com.pem', 'my-site.com.pem', 'password', '/tmp' )); ?> <a href="<?=$esia->buildUrl()?>">Войти через портал госуслуги</a>
После редиректа на ваш redirectUrl вы получите в $_GET['code'] код для получения токена
Пример получения токена и информации о пользователе
$esia = new \Esia\OpenId($config); // Вы можете использовать токен в дальнейшем вместе с oid $token = $esia->getToken($_GET['code']); $personInfo = $esia->getPersonInfo(); $addressInfo = $esia->getAddressInfo(); $contactInfo = $esia->getContactInfo(); $documentInfo = $esia->getDocInfo();
Конфиг
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 и получить можно так
$esia->getConfig()->getOid();
Переиспользование Токена
Дополнительно укажите токен и идентификатор в конфиге
$config->setToken($jwt); $config->setOid($oid);
fr05t1k/esia 适用场景与选型建议
fr05t1k/esia 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 104.43k 次下载、GitHub Stars 达 146, 最近一次更新时间为 2015 年 10 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「OpenId」 「esia」 「egov」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 fr05t1k/esia 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 fr05t1k/esia 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 fr05t1k/esia 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Ory-Hydra OAuth 2.0 Client Provider for The PHP League OAuth2-Client
Bare-bones OpenID Connect client
Customize JWT claims in Laravel Passport access tokens
Multi-provider authentication framework for PHP
ESIA Authclient for gosuslugi.ru
DreamFactory Oasys(tm) Open Authentication System
统计信息
- 总下载量: 104.43k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 147
- 点击次数: 31
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-10-01