exxxar/esia-laravel

Laravel 框架的 ESIA 连接器

dev-master 2022-11-15 14:36 UTC

This package is auto-updated.

Last update: 2024-09-15 18:41:03 UTC


README

此包处于开发中,版本为 alpha。可以获取系统中的用户名和标识符(oid)。

使用 Laravel Socialite

安装

使用 Composer

composer require exxxar/esia-laravel

使用

安装后,发布配置文件,它将作为 config/esia.php 可用

php artisan vendor:publish --tag=esia

在此文件中可以设置变量
redirectUrl - 用户在网站 ESIA 授权后将被发送的 URL
scope - 授权集,默认设置为 ['fullname', 'birthdate']
signer - 可通过 OpenSsl 进行两种签名:1) 通过 php 扩展函数 2) 通过 cli。默认使用第二种。第一种类的类名为 Esia\Signer\SignerPKCS7
tmpPath - 创建带有签名内容的临时文件的路径

.env 文件中添加以下变量的值
ESIA_TEST - 工作模式(测试/生产 = true/false)
ESIA_CLIENT_ID - clientId 或 ESIA 术语中的助记符
ESIA_CERT_PATH - 证书文件路径
ESIA_PRIVATE_KEY_PATH - 私钥文件路径
ESIA_PRIVATE_KEY_PASSWORD - 私钥文件密码短语

以下是无状态使用示例,即令牌的存储由应用程序确定。

获取驱动器对象

$driver = Socialite::driver('esia')

创建用户重定向链接

$redirectUrl = Socialite::driver('esia')->stateless()->buildUrl()

获取 OAuth 用户对象

$user = Socialite::driver('esia')->stateless()->user()

原始获取的数据存储在 $user->user

感谢

由于这是用于 Laravel 的 fr05t1k/esia 库的适配器,我感谢 fr05t1k 和开发人员为开源代码和许可证。

许可证

MIT. 随意使用 :)