我创建了api路由:
文件routes/api.php:
Route::middleware('auth:api')->get('/user',
function (Request $request) {
return $request->user();
});
Route::middleware('auth:api')->group(function()
{
Route::get('/tasks','TaskController@index');
});
此后,我转到/api/tasks
,中间件重定向到/ home,使用/ api / tasks而不重定向到/ home(我已登录)该怎么办,并且我也可以使用此中间件?
Laravel 5.5
答案 0 :(得分:2)
将路线放置在api.php
中时,如果您通过会话登录网站则无法使用。实际上,它将寻找您现在不发送的API令牌。
如果您通过网站上的会话登录,只需点击API 端点不在您的浏览器中将无法使用。它不会检查 会话以查看您是否已登录,它将在寻找API 令牌与请求。由于您未指定令牌,因此 抛出AuthenticationException。
然后,异常处理程序接受此异常,检查您的请求 并发现它没有在期望JSON的标头中指定。 如果期望使用JSON,您会看到一个JSON响应,内容为 未经验证。由于不需要JSON,因此将其重定向到 登录页面,由于您通过 会议。令人困惑,但是我希望那是原因。
如果您想玩自己的游戏,则需要使用Postman之类的工具 API端点,因此您可以在请求中指定所需的标头。
有关更多详细信息,请访问here
答案 1 :(得分:0)