Laravel 7.5.2 (Passport Api) + Ajax Error : Undefined index: aud , \\vendor\\laravel\\passport\\src\\Guards\\TokenGuard.php

Laravel 7.5.2 (Passport Api) + Ajax Error : Undefined index: aud , \\vendor\\laravel\\passport\\src\\Guards\\TokenGuard.php

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

正在生成名为 "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": [
    {
...
}
]

我也试过:composer dump-autoload

我的设置

这个问题不仅仅与vuejs有关。它与来自简单 javascript 的 ajax 请求有关,或者可能来自任何框架。

你 运行 php artisan passport:install 了吗?

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

laravel/passport 9.0 版存在一些问题。升级到版本 9.0.1 解决了这个问题。

composer update laravel/passport:9.0.1

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

感谢解决问题的人。