使用授权使用网络服务:承载

问题描述 投票:0回答:0

我必须使用一个网络服务,其中第一步是在 URL http://domain/login 上使用用户名和密码登录;当我登录时,它以 JSON 格式返回以下内容:

{
   "payload": {"id_sesion": 903003563},
   "exp": 1528992412,
   "aud": "poliza",
   "token": "eyJhbGciOiJSUzUxMiJ9.e"
}

此连接正常工作,但是,当我连接到 http://domain/list 时,传递 id_session 变量和承载身份验证令牌,它返回 {"error":"auth required"}"。

我用另一种语言尝试过,它可以正常工作;然而,在 PHP 中它没有。

代码如下:

<?php
        $curl = curl_init('https://dominio-com/login');
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, true );
        curl_setopt($curl, CURLOPT_POST, true);
        $name = 'user123';
        $pass = 'asfsdfsa';
        $my_user = array(
          "p_usuario"=> $name,
          "p_enc_pwd"=> $pass
          );
          $payload = json_encode($my_user);
          curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);
          curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
          $result = curl_exec($curl);
          curl_close($curl);
          
          $mJSON=json_decode($result);

        $p_o_sesion = $mJSON->payload->p_o_sesion;
        $token = $mJSON->token; 
        $p_cod_prod = 99527;
        $p_fec_desde = "2019-01-01";
        $p_fec_hasta = "2023-01-31";


         $listarpoliza = array(
          "p_o_sesion"=> $p_o_sesion,
          "p_cod_prod"=> $p_cod_prod,
          "p_fec_desde"=> $p_fec_desde,
          "p_fec_hasta"=> $p_fec_hasta
         );
          $payload = json_encode($listarpoliza);  

        $curl = curl_init('https://dominio.com/LISTAR');/** Ingresamos la url de la api o servicio a consumir */
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, true );
        curl_setopt($curl, CURLOPT_POST, true);/** Autorizamos enviar datos*/
        curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);
          
          $result = curl_exec($curl);/** Ejecutamos petición*/
          curl_close($curl);
           
                 
         var_dump($result);
     
          
?>
php bearer-token
© www.soinside.com 2019 - 2024. All rights reserved.