public function productData(Request $request)
{
$product_no = $request->product_no;
$response = array();
if($request->product_no)
{
try
{
$header = $request->header();
$Authorization = $request->header('Authorization');
dd($Authorization);
if (empty($Authorization))
{
$data = "Authorization key invalid";
return $data;
}
else
{
$sp_token = str_replace("Bearer ", "", $Authorization);
$varify_token = 'ZQWmRjUyNDJDQUFGRjBBOUMzMUZGQUVEOTA4QkYzOEU2RENBNEQ4OTIwMzRGQzY1NDA0QzIyMjk3RkJENkRzdsg=====';
if($sp_token == $varify_token)
{
$response = array(
'status' => 200,
'message' => 'success',
);
}
else
{
$response = array(
'status' => 300,
'message' => 'Invalid Bearer Token',
);
}
}
}
catch (\Exception $e)
{
$response = array(
'status' => 500,
'message' => 'Data Not Found',
'msgErr' => 'Something went wrong',
'result' => '0');
}
}
else
{
$response = array(
'status' => 0,
'message' => 'product Number Empty',
);
}
return response()->json($response);
}
上面的代码在本地服务器中工作,当打印时
$Authorization
然后它返回 Bearer
令牌,但相同的代码在生产服务器上不起作用,当我使用邮递员使用生产 URL 点击 API 时,它返回 Authorization key invalid
当我打印或 dd $Authorization
然后返回null
。我不知道为什么?请帮助我。
谢谢你
Authorization
标头可能会被您的网络服务器或反向代理删除。尝试将其重命名为非默认 HTTP 标头的任何名称。例如:Token
。
任何使用 Auth() 的路由或 url 都必须封装在 Web 中间件中。
让我用例如来解释
Route::group(['middleware' => '['web','auth']', function () {
验证::用户(); //其他授权路径
});