$request->header('Authorization') 使用 laravel 返回 null

问题描述 投票:0回答:2
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
。我不知道为什么?请帮助我。

谢谢你

php laravel api authorization
2个回答
2
投票

Authorization
标头可能会被您的网络服务器或反向代理删除。尝试将其重命名为非默认 HTTP 标头的任何名称。例如:
Token


0
投票

任何使用 Auth() 的路由或 url 都必须封装在 Web 中间件中。

让我用例如来解释

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

验证::用户(); //其他授权路径

});

© www.soinside.com 2019 - 2024. All rights reserved.