Bonjour,
Je suis toute nouvelle là dessus et je galère un peu même si cela doit certainement être basique....
J'ai accès à une API, pour s'authentifier j'utilise un username et un password et c'est censé renvoyer un cookie qui permet l'authentifiaction et ainsi l'accès à l'API (ce n'est pas moi qui ai fait l'API)
Voici comment j'ai essayé de coder pour l'authentification avec des choses trouvées sur internet:

public function test(){
 
        $cookie_file_path = "cookie.txt";
        $ch = curl_init('http://monURL/login?username=usernam&password=password');
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
        curl_setopt($ch, CURLOPT_URL, 'http://monURL/login?username=admin&password=password');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERPWD, "username:password");
       /* curl_setopt_array($ch,
            array(
                CURLOPT_URL => 'http://monUrl/login?username=username&password=password',
                CURLOPT_HTTPAUTH => CURLAUTH_ANY,
                CURLOPT_USERPWD  => "username:password",
                CURLOPT_RETURNTRANSFER   => true,
            )
        );*/
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
        $output = curl_exec($ch);
        $info = curl_getinfo($ch);
 
        if($output==false){ //la recup de la ressource a pas marché
            echo 'blob';
            var_dump(curl_error($ch));//affiche l'erreur
        }else {
            var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE));
            $data=json_decode($output, true);
            echo 'blobi';
            var_dump($data);
 
        }
 
 
        curl_close($ch);
 
        }


Et cela me renvoie blobstring(0) ""
Donc comme il y a blob cela veut dire que l'ouput est faux.

Je ne comprends pas trop... Merci beaucoup pour vos réponses
Bonjour Jean-Pierre-Bruneau,
Merci pour votre réponse.

J'étais déjà tombée sur ce site, je me suis dit que j'avais peut être manqué quelque chose donc je l'ai relu et fais mes étapes en suivant les siennes. Voilà le code que j'obtiens:

 public function testBis(){

        /*INITIALISER CURL*/
        $curl = curl_init();

        /*MISE EN PLACE DES PARAMETRES*/
        $cookie_file_path = "cookie.txt";

        //Premiere méthode: pas l'array
        $opts = [
            CURLOPT_COOKIEJAR, $cookie_file_path,
            CURLOPT_SSL_VERIFYPEER => false, //verifie l'authenticité du certificat si elle est à true
            CURLOPT_URL            => 'http://monURL/login?username=admin&password=password', //URL de l'hite à utiliser pour la connexion
            CURLOPT_RETURNTRANSFER => true, // Retourne le transfert sous une chaîne au lieu de l’afficher.
            CURLOPT_TIMEOUT        => 30,//Durée maximale d’exécution de la requête, en secondes
            CURLOPT_CONNECTTIMEOUT => 30, //Durée maximale que pourra prendre la tentative de connexion à l’hôte, en secondes.
            CURLOPT_POST=>true
        ];

        curl_setopt_array($curl, $opts); //$curl: ressource à parametrer, $opts: tableau associatif avec les options
        
       /*EXECUTION DE LA SESSION*/
       // $response = json_decode(curl_exec($curl), true);

      //  print_r($response);

        /*FERMER LA RESSOURCE*/
        curl_close($curl);

        $ch=curl_init();

        $cookie_file_path = "cookie.txt";

        $options = [
            CURLOPT_COOKIEFILE, $cookie_file_path,
            CURLOPT_URL            => 'http://monURL/users',
//users est un GET donc je n'ai pas mis le CURLOPT_POST
        ];
        curl_setopt_array($ch, $options);
        $response = json_decode(curl_exec($ch), true);

        curl_close($ch);

        return new Response($response);

    }


Cependant cela me renvoie {"timestamp":"2019-12-25T16:50:47.995+0000","status":401,"error":"Unauthorized","message":"Unauthorized","path":"/users"}1
Je ne comprends pas pourquoi. Merci !