mikp / wn-sanctum-tokens-plugin
Winter CMS 的 Laravel Sanctum 插件
v0.1.0
2022-01-13 02:45 UTC
Requires
- composer/installers: ~1.0
- laravel/sanctum: ^2.12
- treeware/plant: ^0.1.0
- winter/wn-user-plugin: ^2.0
This package is auto-updated.
Last update: 2024-09-12 10:32:42 UTC
README
将 Laravel Sanctum API 令牌添加到 Winter.Users,以便前端用户可以通过 Sanctum 令牌进行 API 身份验证。如果您需要 API Bearer 令牌身份验证且不想使用 OAuth2,则非常有用。
依赖于
此插件依赖于 Laravel Sanctum 以获取令牌
此插件依赖于 Winter.User 插件 以获取用户信息
.htaccess 头部
默认的 wintercms 设置不允许所需的令牌头部。如果您使用 Apache,则在后端设置中有一个控制台命令和按钮,用于将必要的修改添加到 .htaccess 文件
# adds the following to the root .htaccess file # ## # ## Authorization header # ## # RewriteCond %{HTTP:Authorization} ^(.*) # RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] php artisan sanctum:authorization --add
用法
有三个端点可以用于与令牌交互
- {POST}
api/v1/sanctum/token/create - {POST}
api/v1/sanctum/token/refresh - {POST}
api/v1/sanctum/token/revoke/{tokenId}
'create' 端点不作为登录使用,它由 \Winter\User\Classes\AuthMiddleware 保护,这意味着用户必须已经登录。
其他端点通过令牌进行保护,因此您需要先创建令牌并提供它作为授权信息,然后才能进行 revoke 或 refresh。
中间件
有三个中间件类
- HasBearerToken => 如果存在有效令牌,则允许
- UserFromBearerToken => 使用有效令牌登录用户
- SoftUserFromBearerToken => 尝试使用有效令牌登录用户或放弃并将请求传递给下一个中间件
例如,将提供的中间件添加到路由
// in your plugin's routes.php file Route::group([ 'prefix' => 'api', 'middleware' => [ 'api', 'mikp\sanctum\Http\Middleware\UserFromBearerToken' ] ], function () { // do a thing Route::post('/thing', 'Author\Plugin\Http\Controllers\API@thing'); });
组件
有一个 API 令牌创建组件,可以用来允许用户创建和撤销自己的令牌。
'mikp\sanctum\Components\CreateToken' => 'createtoken'
许可证
此软件包是 Treeware。如果您在生产环境中使用它,我们请求您为世界买一棵树,以感谢我们的工作。通过为 Treeware 森林做出贡献,您将为当地家庭创造就业机会并恢复野生动物栖息地。