laravel - 根据 OAuth 令牌范围返回模型属性
问题描述
我如何根据请求用于授权的访问令牌中的范围返回laravel模型,类似于 discord 如何使用其身份和电子邮件范围进行授权。我想基本上“动态”隐藏/显示基于令牌范围的模型中的特定属性
这会是在控制器或模型中定义的东西吗?
解决方案
决定使用Laravel API 资源和条件属性
class UserResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'username' => $this->username,
'email' => $this->when($request->user()->tokenCan('email'), $this->email),
];
}
}
推荐阅读
- python - 如何将文件移动到 TopParent 文件夹?
- python - 列表理解中的隐式循环
- java - 在弹性或 mongodb 中存储 128 位数字
- jquery - SVG 地图在区域点击时显示内容
- vue.js - 没有构建步骤的 Blade 模板中的 VueJS
- utf-8 - 查找自动编码检测的原因(UTF-8 与 Windows-1252)
- django - DRF:在基本 url 路由路径上禁用 GET 请求
- http - 没有 IEnumerator 或协程的 Unity WebGL HTTP 请求
- selenium - 詹金斯在电子邮件中附加本地图像
- c# - How to link Directory with multiple users with login