Php Laravel:获取已登录用户的id
我正在使用Laravel Passport来管理用户的身份验证。 当用户登录时,在浏览器的localstorage中,我有以下信息:Php Laravel:获取已登录用户的id,php,laravel,Php,Laravel,我正在使用Laravel Passport来管理用户的身份验证。 当用户登录时,在浏览器的localstorage中,我有以下信息: { "user": { "id": 4, "name": "test", "email": "test@gmail.com",
{
"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"
}
Myweb.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()
如何获取当前登录用户的id?
编辑:到目前为止我尝试的内容:
auth()->guard('api')->user()
Auth::id()
Auth::user()->id
我相信您可能只需要引用Auth::user()->id
您现在拥有的Auth::id()
我正在获取尝试获取非对象的属性“id”
@AlyaKraAuth::user()
在本例中返回一个空对象。你在使用哨兵吗?如果是这样,请尝试Sentry::getUser()->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;
});