0

我是新手,我正在使用一个身份验证示例,该示例使用 casl/ability 控制用户权限。在示例中,展示了 JWT 中的身份验证,它读取以下 JSON 结构:

  users: [
    {
      id: 1,
      fullName: 'John',
      username: 'john',
      password: 'admin',
      email: 'admin@demo.com',
      role: 'admin',
      
      ability: [
        {
          action: 'manage',
          subject: 'all'
        }
      ]

    },

我在 Laravel 中创建 bakcend,但 API 身份验证返回如下:

"userData": {
        "id": 1,
        "name": "Admin",
        "avatar": "/",
        "email": "admin@admin.com",
        "email_verified_at": "2021-09-22T01:12:37.000000Z",
        "created_at": "2021-09-22T01:12:37.000000Z",
        "updated_at": "2021-09-22T01:12:37.000000Z",
        "roles": [
            {
                "id": 1,
                "name": "admin",
                "guard_name": "api",
                "created_at": "2021-09-22T01:12:37.000000Z",
                "updated_at": "2021-09-22T01:12:37.000000Z",
                "pivot": {
                    "model_id": 1,
                    "role_id": 1,
                    "model_type": "App\\Models\\User"
                },
                "permissions": [
                    {
                        "id": 3,
                        "name": "read",
                        "guard_name": "api",
                        "created_at": "2021-09-22T01:12:37.000000Z",
                        "updated_at": "2021-09-22T01:12:37.000000Z",
                        "pivot": {
                            "role_id": 1,
                            "permission_id": 3
                        }
                    }
                ]
            }
        ]
    }

如何让我的 API 已经返回简化身份验证,将“权限”更改为“能力”并包含必要的字段。注意:我在 Laravel 中使用 spatie/permissions

ability: [
        {
          action: 'manage',
          subject: 'all'
        }
      ]
4

0 回答 0