首页 > 解决方案 > 如何使用护照访问 API 资源控制器中的 Auth('api')->user()

问题描述

我的控制器

<?php
    
    namespace App\Http\Controllers\Api;
    
    use App\User;
    use Illuminate\Http\Request;
    use App\Http\Controllers\Controller;
    use App\Http\Resources\BlogCollection;
    
    class BlogLikeController extends Controller
    {
    
        /**
         * Display a listing of the resource.
         *
         * @return \Illuminate\Http\Response
         */
        public function index()
        {
           $user = auth('api')->user();
           
           return new BlogCollection($user);
        }
    }

路线

Route::middleware('auth:api')->group(function () {
    Route::apiResource('bloglike','Api\BlogLikeController');
});

结果

结果显示不正确的值

我正在使用 vue.js 返回要通过我的收件人资源保存的值,我想将它与我的 user_id 一起保存,Auth::user()->id;不幸的是我的 user_id 总是为 0,因为我无法访问 Auth('api')->user( )-> id 在我的 API 资源控制器中

标签: phplaravel-5.8jsonapi-resources

解决方案


这应该工作

$user = User::where('id', auth('api')->user()->id)->get();
$user = BlogCollection::collection($user);

推荐阅读