Проблема прохождения токена в паспорте Laravel - PullRequest
0 голосов
/ 09 июля 2019

Работа над приложением Laravel, которое требует аутентификации по паспорту из внутреннего API.Я использую определенный API, который требует аутентификации пользователя перед анализом данных.При синтаксическом анализе токена из кода веб-интерфейса я получаю сообщение об ошибке «Неаутентифицировано» на вкладке «Сеть браузера», но когда я получаю токен непосредственно на почтальоне, он проходит.

Не могу ли я что-то упустить? Код, который выдает ошибку без аутентификации

   public function global_Curl_Post($data , $url)
    {
        $server = env('API_ENDPOINT_NGINX_NAME') !== null ? env('API_ENDPOINT_NGINX_NAME') : 'https://digitalapps*****.example.com';

        $accessToken = session('access_token');

        $headers = ["Accept:application/json",
            "Content-Type:application/json",
            "Authorization:Bearer ".$accessToken
        ]; 

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, ($server.'/'.$url));
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $response = json_decode(curl_exec($ch));

        dd($response);

        curl_close($ch);

        return $response;
    }

Когда я захожу на почту и копирую access_token в коде ниже, он аутентифицирует

  public function global_Curl_Post($data , $url)
    {
        $server = env('API_ENDPOINT_NGINX_NAME') !== null ? env('API_ENDPOINT_NGINX_NAME') : 'https://digitalapps*****.example.com';

        $accessToken = session('access_token');

        //copy access_token from postman and paste directly
        $headers = ["Accept:application/json",
            "Content-Type:application/json",
            "Authorization:Bearer "."yJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiI.............."
        ]; 

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, ($server.'/'.$url));
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $response = json_decode(curl_exec($ch));

        dd($response);

        curl_close($ch);

        return $response;
    }
...