我已经在此应用程序中工作了几年,在进行一些更新时,我的护照认证失败了。我将护照从7.2更新到7.5,但它坏了。然后,我更新为护照8.5,但仍然无法使用。
我收到401 {error: "Unauthenticated."}
错误。
我正在使用
我正在尝试使用自己的api,并且遵循了我在互联网上找到的所有解决方案,但是没有骰子。我可以使用邮递员通过访问令牌访问路由,如果我将路由移至auth:api
中间件之外,但是我想访问auth:api
这是我当前的配置。
AuthServiceProvider.php
public function boot()
{
Passport::routes();
}
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
... other middleware
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
在auth.php中
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
'hash' => false,
],
]
]
bootstrap.js
window.axios = require('axios');
window.axios.defaults.headers.common = {
'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
'X-Requested-With': 'XMLHttpRequest'
};
在component.vue文件中
axios.get('/api/users?page=' + page).then((response) => {
//
})
我已经清除了配置并运行了 php artisan optimize:clear
和其他我现在不知道的其他事情。
任何帮助将不胜感激。
答案 0 :(得分:1)
我在问题发布之时(2020年9月上旬)开始就用Laravel 7和Passport恰好遇到了这个问题。我无法查明问题的确切原因,但不得不冻结我的依赖项以避免问题。在我看来,调试时,这不是Laravel或Passport的直接问题,而是子依赖项。
只需升级到Laravel 8和Passport v10.0.1,现在一切恢复正常。