2017-08-14 27 views
0

在我的控制器的結構我指定的中間件:路線上Laravel SPA獲取用戶不需要身份驗證的中間件

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

這很容易做,以獲得與身份驗證中間件的任何路由用戶:

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? 
} 

當我使用丁目的檢查網絡選項卡,我可以在我的請求頭看到這一點:

Authorization:Bearer kGncvh4IlotxIw2zY80GCnQPTMGyPZKGXntsHzsav2DPvffFfZZG60h74rsE

但我需要做的就是從這個用戶對象?

回答

1

我想通過閱讀this blog post

神奇的代碼行是:

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

類似我的解決方案:'應用程序( '權威性') - >後衛() - >用戶();' – Alfa

+0

,當我嘗試它返回null - 但可能對其他情況下的其他人有所幫助。 –

+0

可能是由我的默認警衛引起的'api'。 – Alfa

相關問題