openwod/service-accounts

用于向Laravel项目添加服务账户的包

1.0.0 2022-11-15 10:17 UTC

This package is auto-updated.

Last update: 2024-09-15 15:08:02 UTC


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')