php - Laravel:获取登录用户的ID
问题描述
我正在使用Laravel Passport来管理用户的身份验证。当用户登录时,在浏览器的本地存储中我有以下信息:
{
"user": {
"id": 4,
"name": "test",
"email": "test@gmail.com",
"email_verified_at": null,
"created_at": "2021-05-08T06:57:27.000000Z",
"updated_at": "2021-05-08T06:57:27.000000Z"
},
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ijk2MjkxN2YyYzAwZjM5NmMwMTAzYzRjYTYwODk1YmYxMzY1MDE5OGQ1ZDQ5ZDJjNThlYzc0YmRkMzg2ZTk3MTE3MWE3ZWRjNjMyNjkwNjlhIn0.eyJhdWQiOiIxIiwianRpIjoiOTYyOTE3ZjJjMDBmMzk2YzAxMDNjNGNhNjA4OTViZjEzNjUwMTk4ZDVkNDlkMmM1OGVjNzRiZGQzODZlOTcxMTcxYTdlZGM2MzI2OTA2OWEiLCJpYXQiOjE2MjA0Njg0MjQsIm5iZiI6MTYyMDQ2ODQyNCwiZXhwIj"
}
我的web.php
use Illuminate\Support\Facades\Route;
use App\Models\Profile;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
Auth::routes();
Route::get('/customize/{id}', function ($id) {
if (
User::where('id', Auth::id())->whereHas('profile', function ($query) use ($id) {
return $query->where('id', $id);
})
->exists()
) {
return true;
}
return false;
});
如果我Auth::id()
用硬编码值替换它,4
它可以工作。
如何获取当前登录用户的 ID?
编辑:到目前为止我尝试了什么:
auth()->guard('api')->user()
Auth::id()
Auth::user()->id
解决方案
我相信你可能只需要参考Auth::user()->id
你现在拥有的地方Auth::id()
use Illuminate\Support\Facades\Route;
use App\Models\Profile;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
Auth::routes();
Route::get('/customize/{id}', function ($id) {
if (
User::where('id', Auth::user()->id)->whereHas('profile', function ($query) use ($id) {
return $query->where('id', $id);
})
->exists()
) {
return true;
}
return false;
});
推荐阅读
- haskell - Xmonad如何防止浮动窗口始终保持在顶部?
- python - 类型错误:encode() 参数“编码”必须是 str,而不是 int
- java - 侦听器关闭弹出事件并将主阶段返回焦点
- android - 找不到 tools.jar。请检查 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 是否包含有效的 JDK 安装
- c - Linux Ubuntu Cinnamon 上的 VirtualBox 中的代码 C 标准输出
- postgresql-12 - 在 PostgreSQL 12 中使用流复制时 wal_recycle 的值是多少?
- google-app-engine - 如何将空闲实例限制为 1 并在需要时继续自动缩放 - 应用引擎标准环境
- reactjs - 如何使用 reactjs 创建大型菜单
- r - 需要帮助通过顺序消除数据来重新采样 R 中的观察值
- r - 在 R 中比较具有不同时间戳的时间序列