Laravel 6

Probème authentification sur transformation d'une application web en un client API

Avatar de AlainArsane
AlainArsane

Bonjour, J'essaye de transformer une application web autonome en une application web cliente d'une API et j'ai un problème d'authentification. Lorsque j'appelle l'API avec les credentials encapsulés dans un form_params, l'API plante au moment d'accéder à la base de données, voici la ligne d'appel :

    public function login(Request $request) {
        $client = new Client();
        $uri = 'http://localhost/myAPI/public/api/login';
        $data = ['email' => $request->input('email'), 'password' => $request->input('password')];
        try {
            $response = $client->post($uri, ['form_params' => $data]);
            . . .

Note: le client est : use GuzzleHttp\Client; Côté API, le log est le suivant : local.ERROR: SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO) (SQL: select * from users where email = ... Tout se passe comme si l'API utilisait les paramètres BdD du client API au lieu de ceux de l'API ! Côté client : DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE= DB_USERNAME= DB_PASSWORD= Côté API : DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=myDB DB_USERNAME=myUser DB_PASSWORD=myPwd Si je mets les mêmes paramètres côté client que côté API tout se passe bien ! Lorsque je lance la même requête avec POSTMAN tout se passe bien ! Est-ce que quelqu'un aurait une idée ? Merci d'avance.

Posté il y a 4 mois
Avatar de FrédéricAmary
FrédéricAmary

Salut ! J'ai l'impression que ton appli web et ton api tape dans le même .env...

Posté il y a 4 mois
Avatar de AlainArsane
AlainArsane

Bonjour, C'est une possibilité mais comment cela est-il possible d'autant que pour vérifier que ce n'était pas le cas j'ai mis l'API sur une machine virtuelle et le client sur la machine réelle et j'ai été cofronté au même problème ! Je me suis aussi demandé si l'accès à la base de données ne se faisait pas avant l'appel de login(), mais non, j'ai mis un point d'arrêt à l'entrée de login et l'erreur se déclenche bien sur l'appel de l'API !

Posté il y a 4 mois

Vous ne pouvez pas répondre à ce sujet.