Laravel SPA让用户获得不需要身份验证的中间件

时间:2017-08-14 04:23:24

标签: laravel authentication single-page-application

在我的控制器构造中,我指定了中间件:

public function __construct()
{
    $this->middleware('auth:api')
        ->except(['index', 'show']);
}

通过以下方式轻松获取用户使用auth中间件的任何路由:

public function save(Request $request)
{
    $user = $request->user();
}

但我无法弄清楚如何让用户获得允许匿名用户访问它们并且不使用auth中间件的路由:

public function show(Request $request) {
    // $request->user(); - this returns NULL

    // How can I get the user here?
}

当我使用Chome的检查网络标签时,我可以在我的请求标题中看到这一点:

Authorization:Bearer kGncvh4IlotxIw2zY80GCnQPTMGyPZKGXntsHzsav2DPvffFfZZG60h74rsE

但是我需要做些什么才能从中获取用户对象?

1 个答案:

答案 0 :(得分:2)

我通过阅读this blog post来解决这个问题。

神奇的代码行是:

$user = Auth::guard('api')->user();