apachish/access-level

通过JWT进行身份验证,分为管理员、作者和用户三个访问级别。列表应由作者管理员创建。每位管理员都有编辑和删除整个列表的能力,每位作者只能编辑自己的列表。有一个地址用于向所有用户显示列表。有一个发送邮件给所有用户的选项。

0.1 2021-08-13 19:39 UTC

This package is auto-updated.

Last update: 2024-09-22 17:47:11 UTC


README

通过JWT进行身份验证,分为管理员、作者和用户三个访问级别。列表应由作者管理员创建。每位管理员都有编辑和删除整个列表的能力,每位作者只能编辑自己的列表。有一个地址用于向所有用户显示列表。有一个发送邮件给所有用户的选项。

安装包

composer require apachish/access-level

安装后运行命令安装数据库表

php artisan migrate

##配置

在文件 ./config/auth.php 中配置laravel

在相应的文件中更改以下参数

    'defaults' => [
        'guard' => 'api',
        'passwords' => 'users',
    ],
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'jwt',
            'provider' => 'users',
            'hash' => false,
        ],
    ],
        'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => \Apachish\AccessLevel\Models\User::class,
        ],

        // 'users' => [
        //     'driver' => 'database',
        //     'table' => 'users',
        // ],
    ],

我包括了一个辅助命令来为您生成密钥

php artisan jwt:secret

您可以通过设置.env参数中的 ADMIN_USER_EMAIL 来创建管理员

要创建管理员和作者角色并设置用户为管理员,请运行以下命令:

php artisan db:seed --class="Apachish\AccessLevel\Database\Seeds\RoleSeeder"

##列表API

注册用户

http://127.0.0.1:8000/api/user/register

请求头

Accept: application/json
Content-type: application/json

请求体

{
    "name":"shahriar",
    "email":"apachish@gmail.com",
    "password":"12345678",
    "password_confirmation":"12345678"
}

请求结果

{
    "status": "Success",
    "meta": {
        "code": 200,
        "message": "با موفقیت انجام گردید"
    },
    "data": {
        "user": {
            "id": 2,
            "name": "shahriar",
            "email": "apachish@gmail.com"
        }
    }
}

登录用户

http://127.0.0.1:8000/api/user/login

请求头

Accept: application/json
Content-type: application/json

请求体

{
    "email":"apachish@gmail.com",
    "password":"12345678"
}

结果

{
    "status": "Success",
    "meta": {
        "code": 200,
        "message": "با موفقیت انجام گردید"
    },
    "data": {
        "items": {
            "id": 2,
            "name": "shahriar",
            "email": "apachish@gmail.com"
        },
        "token_detiles": {
            "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMjcuMC4wLjE6ODAwMFwvYXBpXC91c2VyXC9sb2dpbiIsImlhdCI6MTYyODc5NTgyOSwiZXhwIjoxNjI4Nzk5NDI5LCJuYmYiOjE2Mjg3OTU4MjksImp0aSI6IlpRZmx1aldkYkFUeVdINWoiLCJzdWIiOjIsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.WlEud3yTwVlhYr6YdJQt95b3968A_hqFoz_16b3Hhuk",
            "token_type": "bearer",
            "expires_in": 3600
        }
    }
}

所有API使用头信息

Accept: application/json
Content-type: application/json
Authorization:Bearer {{access_token}}

添加用户为作者使用API

http://127.0.0.1:8000/api/user/add/author/7

列表API img.png