gpt4 book ai didi

php - 拉维尔 5.3 API

转载 作者:可可西里 更新时间:2023-11-01 00:29:46 24 4
gpt4 key购买 nike

当用户在浏览器中输入用户名和密码并成功登录时。

我喜欢在用户登录后发出一些 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 的注意事项:

  • 如果您设置了 laravel 的默认身份验证系统,您还需要为 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 ]
  • 如果 token 不正确,我会收到一个有用的错误消息,而不仅仅是重定向到登录,还会在所有请求中发送以下 header : header :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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com