2017-04-06 88 views
0

如何合并的API航线组与我的身份验证,以有这样的事情:Laravel 5.4合并Api路由组与auth中间件?

Route::group(['middleware' => 'auth'], function() { 
    ... 
}); 

因此,如果我调用默认的API路线:

Route::middleware('auth:api')->get('/user', function (Request $request) { 
    return $request->user(); 
}); 

app/api/user 

我没有得到任何的回报价值。

我是新来的API路线,所以我做错了什么。

我无法找到一个教程API Laravel 5.4

+0

你想结合什么? – EddyTheDove

+0

@EddyTheDove像试图检查api组,如果用户被认证 – Micheasl

+0

尝试转储'$ request-> user()'而不是返回它。 –

回答

0

像这样的事情

Route::group(['middleware' => 'auth:api'], function(){ 
    Route::get('user', function(Request $request) { 
     dd($request->user()); 
    }); 
}); 

通过ajax传递您的令牌

var token = <?php json_encode(Auth::user()->api_token); ?>; 
$.ajax({ 
    url:'http://...', 
    headers: { 
     'Authorization': 'Bearer ' + token 
    }, 
    method: 'POST' 
    ... 
}) 
+0

我会检查这一点,你知道我为什么没有得到返回值吗? – Micheasl

+0

这确实取决于你的标准。用户是否在发送请求的浏览器上连接。如果没有,你是否在标题中发送了一个令牌? – EddyTheDove

+0

任何想法,为什么我得到一个401错误http://kopy.io/1tUSD? – Micheasl

0
Route::middleware('auth:api')->get('/user', function() { 
    return Auth::user(); 
}); 

Route::get('/user', function() { 
     return Auth::user(); 
})->middleware('auth');