未经身份验证的Laravel

问题描述

我正在使用Laravel Passport登录,后来在Angular中使用了此API,我发现了以下问题

当我在Postman中将GET放入具有接受:application / json标头和我的授权令牌:Bearer xxxx的以下路径http://127.0.0.1:8000/api/tramites时,它会返回我

“消息”:“未经身份验证”。

我不明白为什么会发生这种情况,因为我传递了生成用户令牌,因此必须对其进行访问。

api.PHP

Route::group(['middleware' => 'auth:api'],function(){
Route::ApiResource('tramites','TramiteController');});

PersonaController.PHP

public function login(Request $request)
    {
        $persona = Persona::whereUsuario($request->Usuario)->first();
        if(!is_null($persona) && ($request->Contrasena == $persona->Contrasena))
        {
            
            $persona->App_Id = Str::random(100);
            $persona->save();

            return response()->json([
                'res' => true,'token' => $persona->App_Id,'message' => 'Login succesfully'
            ],200);
        }
        else{
            return response()->json([
                'res' => false,'message' => 'Login wrong'
            ],400);
        }
        
    }

解决方法

检查您的.htaccess文件是否具有以下指令:

RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

我遇到了类似的问题:Laravel sanctum unauthenticated