Search code examples
phplaravellaravel-passportguzzle

Guzzle in laravel keeps loading, not returning values


Im using Laravel passport for API authentication. I have two routes /api/login and /oauth/token

Since I cannot hardcode my client id and the login receives from JS and the params and client id is hardcoded inside a login method(laravel), Im trying to post the values using Guzzle (6.0) to oauth/token (POST requests).

I followed a youtube video and there it works but not mine. Iam using 5.6, not sure which version was in the video. Could someone help?

Below is the Video

https://www.youtube.com/watch?v=HGh0cKEVXPI&t=838s

Below is the code

$http = new GuzzleHttp\Client();
$request = $http->post(URI, '/oauth/token', [
    'form_params' => [
        'username' => 'bar',
        'password' => 'xxxxxx',
        'client_id' => 2,
        'grant_type' => 'password',
        'client_secret' => '00000000000000000'
    ]
]);

return $request;

Solution

  • You are not getting the response only returning guzzle $request initalization so add getBody()

       $http = new GuzzleHttp\Client();
        $request = $http->post(URI, '/oauth/token', [
            'form_params' => [
                'username' => 'bar',
                'password' => 'xxxxxx',
                'client_id' => 2,
                'grant_type' => 'password',
                'client_secret' => '00000000000000000'
            ]
        ]);
    
        return $request->getBody();