Laravel 7.5.2(Passport Api)+ Ajax错误:未定义索引:aud,\\ vendor \\ laravel \\ passport \\ src \\ Guards \\ TokenGuard.php

问题描述 投票:2回答:2

我在Vuejs中使用Laravel 7.5.2。我正在使用护照进行api身份验证。我已遵循laravel网站上的护照安装说明。

  • 已运行作曲家需要laravel / passport,php artisan迁移和php artisan护照:安装
  • 已在用户模型中添加HasApiTokens
  • 已在AuthServiceProvider中添加Passport :: routes()
  • 已添加\ Laravel \ Passport \ Http \ Middleware \ CreateFreshApiToken :: App \ Http \ Kernel Web MiddlewareGroups中的类
  • 已在config / auth.php中将Api驱动程序更改为通行证

我在开发人员工具中看到的,名为“ laravel_token”的cookie正在生成并与ajax请求一起发送。

在我的控制器中,我已将api中间件包括在内

public function __construct(){
    $this->middleware('auth:api');
}

Api / Ajax响应

{
"message": "Undefined index: aud",
"exception": "ErrorException",
"file": "E:\\laravel\\vendor\\laravel\\passport\\src\\Guards\\TokenGuard.php",
"line": 140,
"trace": [
    {
...
}
]

我也尝试过:作曲家dump-autoload

我的设置

  • Laravel:7.5.2
  • 护照:9.0
  • PHP:7.4.0
  • Vuejs:2.5.17

该问题不仅与vuejs有关。它与简单javascript的ajax请求有关,也可以来自任何框架。

javascript ajax laravel vue.js laravel-passport
2个回答
0
投票

您是否运行过php artisan passport:install

需要在存储目录中安装密钥。


0
投票

[laravel / passport 9.0版出现了一些问题。更新到9.0.1版解决了该问题。

composer require laravel/passport:9.0.1

问题的详细信息可以在这里找到:Issue Detail on Github

感谢那些解决此问题的人。

© www.soinside.com 2019 - 2024. All rights reserved.