作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当用户在浏览器中输入用户名和密码并成功登录时。
我喜欢在用户登录后发出一些 API 请求。
Laravel 5.3 在 routes 文件夹中提供了 api.php。
在 api.php 中我包含了:
Route::group(['middleware' => ['auth']], function () {
Route::get('/test', function (Request $request) {
return response()->json(['name' => 'test']);
});
});
当在浏览器上请求 domain.com/api/test
时,由于某种原因它被重定向到 /home
?
不需要 API token 。
最佳答案
如果您在 api.php 中指定路由,则需要使用 auth:api 中间件。因此,使用您的示例将是:
Route::group(['middleware' => ['auth:api']], function () {
Route::get('/test', function (Request $request) {
return response()->json(['name' => 'test']);
});
});
关于 Token 认证和 Laravel 5.3 的注意事项:
api_token
添加一列到用户表。如果您使用的是 DB 播种机,您可能需要添加如下内容:$table->char('api_token', 60)->nullable();
给您的用户表播种机。或者,只需手动添加列并用随机的 60 个字符的键填充该列。 api_token
添加为 URL/Querystring 参数,如下所示:domain.com/api/test?api_token=[你的 60 个字符的 key ]
。您还可以将 key 作为 header 发送(如果使用 Postman 或类似的),即: header :Authorization
,值:Bearer [您的 60 个字符的 key ]
。Accept
,值:application/json
。这允许在 App/Exceptions/Handler.php
中检查 unauthenticated()
函数的 expectsJson()
正常工作。我发现很难从 Laravel 中找到关于在 5.3 中使用 token 身份验证的明确文档,我认为这是因为有一个驱动器可以使用 Passport ,它以不同的方式支持 token 。以下是可能最有助于使其正常工作的文章:https://gistlog.co/JacobBennett/090369fbab0b31130b51
关于php - 拉维尔 5.3 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39561695/
我正在使用 git clone 部署我的 Laravel 项目并使用 git pull 进行更新 它工作正常,但每次部署时,我都必须从 config/app.php providers 数组和 ali
我是一名优秀的程序员,十分优秀!