【问题标题】:unauthenticated error code calling api in Laravel在 Laravel 中调用 api 的未经身份验证的错误代码
【发布时间】:2019-04-02 01:44:44
【问题描述】:

我正在开发 Laravel RestFull Api,这个 Api 将由同一个应用程序使用。当我使用 axios 调用 Api 时,我收到 401(未经身份验证)错误代码。谁能告诉我这是为什么以及如何解决这个问题?

【问题讨论】:

  • 您正在使用什么路由并检查您正在使用的路由是否使用了任何中间件,如果不是您必须发送身份验证密钥
  • 可以用请求标头更新您的问题吗?

标签: laravel rest restful-authentication


【解决方案1】:

我假设您正在使用 Laravel Passport 进行 REST 身份验证管理。如果是这样的话:

如果您的 API 应该是公共可访问的,只需从您的路由中删除所有中间件。如果你应用了auth:api中间件,你必须做到以下几点:

要通过 javascript 使用您自己的应用程序,您必须将 CreateFreshApiToken 中间件添加到您的 Web 中间件组中:

'web' => [
    // Other middleware...
    \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],

这会将laravel_token cookie 附加到您发出的请求中。现在你可以简单地用 axios 调用你的端点:

axios.get('/api/user')
.then(response => {
    console.log(response.data);
});

在此处了解更多信息:Laravel Passport

【讨论】:

    【解决方案2】:

    实际上一切都很好,只是由于 composer update laravel 当前版本更改为最新版本。这就是为什么提出这个问题。在 composer.json 文件中限制 laravel 版本并再次更新作曲家。所以,现在工作得很好。

    【讨论】:

      猜你喜欢
      • 2019-06-14
      • 2020-11-15
      • 2018-08-12
      • 2017-09-01
      • 1970-01-01
      • 2019-09-25
      • 2021-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多