首页 > 解决方案 > Laravel 6 All api 给 401 未授权

问题描述

我使用 Laravel 6.18.10 作为后端(API)和前端核心 Vue.js

在我的具有虚拟域的本地机器上一切正常。但在生产服务器中它不起作用。

在生产服务器中,正常的 laravel 登录也正常,API 登录也正常,但是

其他 api 不工作。

api.php我发现如果我删除auth:api然后它没有得到Auth:user()对象。(见下面的代码)

Route::group(['middleware' => ['auth:api','cors'] ], function(){

我不知道为什么会这样。因为正常登录工作正常,我用邮递员检查它并且登录工作正常但其他 api url 得到404json 响应{"message":"Unauthenticated."}

请帮忙

I try all below thing :
1) composer update
2) rollback all database and re migrate and again install passport
3) change passport keys

标签: phplaravel

解决方案


Tarun,auth:api是用于验证用户身份的守卫。因此,如果您从邮递员那里进行测试,那么 401 未授权对于需要身份验证才能继续进行的 api 来说是一个有效的响应。

为了继续使用 postman 进行测试,我在 Postman和API 工作流中遇到了Laravel Authorization with Postman 。您可以浏览这些文档以更好地了解邮递员。

除此之外,如果你打算使用 API ,你可以阅读PassportSanctum 。


推荐阅读