Faltan datos de publicación de portador de autenticación de reposo Yii2

Estoy trabajando en una API REST. Por lo tanto, preparé una función que envía los datos de autenticación mediante curl al servidor REST. He implementado dos opciones de autenticación. El primero es la autenticación básica, el segundo es la autenticación a través de token (portador).

Ahora, estoy en trobles, porque en el servidor REST, los datos POST no son recibidos por el servidor REST en caso de autenticación mediante token. La autenticación en sí está funcionando, pero los datos POST se perderán. En caso de autenticación a través de la autenticación básica, los datos POST serán recibidos por el servidor REST, no hay problema.

private function request($postdata){

    $url = $this->service_url_private;
    $curl = curl_init($url);
    $curl_post_data = $postdata;


    // check if token authentication is used
    if (array_key_exists('token', $postdata )){
        $token = $postdata['token'];
        $authorization = 'Authorization: Bearer ' . $token;
        // prepare curl for Bearer Token Authorization
        curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization));
    } else {
        // otherwise use BASIC authentication
        if (array_key_exists('email', $postdata )){
            $username = $postdata['email'];
        }
        if (array_key_exists('password', $postdata )){
            $password = $postdata['password'];
        }
        // prepare curl for Basic Authentication
        curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
    }

    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
    curl_setopt($curl, CURLINFO_HEADER_OUT, true); // Detail information for debugging
    curl_setopt($curl, CURLOPT_VERBOSE,true);
    $curl_response = curl_exec($curl); // Detail information for debugging
    $info = curl_getinfo($curl); // Detail information for debugging
    curl_close($curl);
    var_dump($info);
    return $curl_response;
}

Además, $ curl_post_data muestra todos los datos del cliente durante la depuración, antes de que la llamada de descanso se ejecute con curl_exec ($ curl).

¿Cual podría ser el problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta