php - 未经身份验证的 Laravel
问题描述
我正在使用 Laravel Passport 登录,以便稍后在 Angular 中使用此 API,我发现以下问题
当我在 Postman 中将 GET 扔到以下路径http://127.0.0.1:8000/api/tramites并带有 Accept: application / json headers 和我的 Authorization token: Bearer xxxx 它返回给我
“消息”:“未经身份验证。”
我不明白为什么会发生这种情况,因为我正在传递生成的用户令牌,它必须访问。
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