我是新手,我正在使用一个身份验证示例,该示例使用 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'
}
]