openwod / service-accounts
用于向Laravel项目添加服务账户的包
1.0.0
2022-11-15 10:17 UTC
Requires
- laravel/sanctum: ^3.0.1
README
此包可以创建服务账户并分配权限。该包创建了一些路由,您可以用来创建/修改服务账户。
身份验证
所有路由都需要进行身份验证。有两种身份验证方式:1. 使用服务账户配置文件中指定的api_token。(此token可以访问所有路由)2. 使用具有正确权限的服务账户的token。
两种类型的token都应在Authorization头中发送,服务账户token格式为"Bearer TOKEN",api_token格式为"ServiceAccount TOKEN"。
路由
POST /service_accounts
Body:
name
permissions
Comma separated list of permissions in format something.something
Creates a new Service account
Permission: service-accounts.create
Returns service account token
GET /service_accounts/{name}
Permission: service-accounts.view
Returns information about a service account
DELETE /service_accounts/{name}
Permission: service-accounts.destroy
Deletes a service account
安装
1.
运行composer命令下载包。更多信息即将推出...
2.
将以下内容添加到config/auth.php
配置文件中
在guards
下添加
'svc' => [ 'driver' => 'sanctum', 'provider' => 'svc', 'hash' => true, ],
在providers
下添加
'svc' => [ 'driver' => 'eloquent', 'model' => Openwod\ServiceAccounts\Models\ServiceAccount::class, ],
3.
将SERVICE_ACCOUNT_ADMIN_TOKEN
添加到env。此token用于验证添加新服务账户的请求。
4.
运行php artisan vendor:publish --provider="Openwod\ServiceAccounts\ServiceAccountsServiceProvider"
发布文件
5.
运行php artisan migrate
使用方法
获取服务账户
$svc = auth()->guard('svc')->user();
检查权限
$svc->tokenCan('permission')