vatusa / laravel-uls
此包已被弃用,不再维护。未建议替代包。
为您的应用程序添加 ULS 认证支持
v1.0.5
2018-02-21 08:40 UTC
Requires
- php: >=7.1.0
- illuminate/support: 5.3.x|5.4.x|5.5.x
- namshi/jose: ^7.0
- web-token/jwt-checker: ^1.0
- web-token/jwt-core: ^1.0
- web-token/jwt-key-mgmt: ^1.0
- web-token/jwt-signature: ^1.0
Requires (Dev)
- orchestra/testbench: 3.x
- phpunit/phpunit: ^4.8|^5.2
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2021-08-07 11:12:47 UTC
README
关于
提供围绕 VATUSA 统一登录方案的 web-token 库的包装器。
安装
- 在您的
composer.json
中要求vatusa/laravel-uls
包,并更新您的依赖项$ composer require vatusa/laravel-uls
- 生成配置文件
配置
默认值在 config/uls.php
中设置。将此文件复制到您的配置目录以修改值。您可以使用此命令发布配置
$ php artisan vendor:publish --provider="VATUSA\Uls\UlsServiceProvider"
return [ /* |-------------------------------------------------------------------------- | Laravel ULS |-------------------------------------------------------------------------- */ /* * ULS Version to use * * By default we'll use 2 */ 'version' => env('ULS_VERSION', 2), /* * Set the JSON Web Key retrieved from VATUSA's Facility Management */ 'jwk' => json_decode(env('ULS_JWK', []), true), /* * Facility 3 letter identifier */ 'facility' => env('ULS_FACILITY', 'ZZZ') ];
Lumen
在 Laravel Lumen 中,请在 bootstrap/app.php
中手动加载您的配置文件
$app->configure('uls');
使用方法
使用 laravel-uls 相对简单。
-
从您设施的技术配置页面获取您的 JSON Web Key。 https://www.vatusa.net/mgt/facility (注意:您必须拥有 ATM、DATM 或 WM 角色,才能为该设施生成/查看生成的 JSON Web Key)
-
将 JWK 原样存储在上述配置中(或,在 .env 文件中用单引号引用,作为 ULS_JWK='... VATUSA 的 JWK...')
-
要生成重定向 URL,请使用
$uls->redirectUrl()
要处理开发返回,指定布尔参数为 true
$uls->redirectUrl(true)
-
要验证令牌,假设 $token 是从 VATUSA 的 ULS 端点收到的完整令牌
$uls = new Uls(); if ($uls->verifyToken($token)) { // Token was true }
laravel-uls 库执行头部验证以确保接收到的算法被接受。此外,它还执行以下声明检查,包括
- 确保受众是您(即,令牌不是为另一个设施准备的)
- 令牌尚未过期
- 发行时间逻辑(即,不在未来)
因此,可能会抛出许多异常
- InvalidArgumentException
- Jose.Component.Checker.InvalidClaimException
- Jose.Component.Checker.InvalidHeaderException
-
要获取与令牌关联的用户的信息,请使用
$uls->getInfo();
这将返回一个包含 ULS 解码 JSON 的数组。有关数组的详细信息,请参阅 VATUSA 技术手册 M1022,网址为 https://www.vatusa.net。
许可
在 GNU 公共许可证 3.0 下发布,请参阅 LICENSE。