我有一个Laravel基本API,它处理客户端和管理端点(有两个站点
domain.com
和
admin.domain.com
).
我的身份验证基于cookie,哪个域是
<.domain.com>
. 如您所见,此cookie对两个域都是可接受的。
我使用雄辩的Api资源来转换数据层。是我的
when()
这里的路线检查安全吗?
public function toArray($request)
{
return [
'name' => $this->name,
'created_at' => (string)$this->created_at,
'status' => $this->when($request->route()->getName() === 'api.admin.users.index', $this->status)
];
}
在我使用之前
$this->when(Auth::check(), ...)
,但由于客户端站点也可以接受我的身份验证cookie,因此可能会获取不需要的数据。
我的路线:
Route::group(['prefix' => 'admin', 'as' => 'api.admin.', 'middleware' => 'auth:api'], function () {
Route::resource('users', ...);
});
如果用户没有被授权,他将无法获得数据,因为中间件同时,授权用户(拥有未过期的cookie)在客户端不会获得不必要的数据。
谢谢您!