thephpleague / oauth2-client

Easy integration with OAuth 2.0 service providers.
http://oauth2-client.thephpleague.com
MIT License
3.64k stars 751 forks source link

Receive invalid_request while getAccessToken #1035

Open szkruk opened 1 month ago

szkruk commented 1 month ago

I'm trying to integrate with the Okta using oauth2-client. When i try to log in, I get error: invalid_request#0 /var/www/html/app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(628)

$accessToken = $oauthClient->getAccessToken('authorization_code', [ 'code' => $code, ]);

I assume $code is valid, because it's returned from Okta.

error trace:

invalid_request#0 /var/www/html/app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(628): League\OAuth2\Client\Provider\GenericProvider->checkResponse(GuzzleHttp\Psr7\Response, Array) #1 /var/www/html/app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(537): League\OAuth2\Client\Provider\AbstractProvider->getParsedResponse(GuzzleHttp\Psr7\Request) #2 /var/www/html/app/src/Service/Auth/OktaAuthenticator.php(133): League\OAuth2\Client\Provider\AbstractProvider->getAccessToken(League\OAuth2\Client\Grant\AuthorizationCode, Array)

invalid_request#0 /var/www/html/app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(628)](http://app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(628)): League\OAuth2\Client\Provider\GenericProvider->checkResponse(GuzzleHttp\Psr7\Response, Array)

1 /var/www/html/app/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(537): League\OAuth2\Client\Provider\AbstractProvider->getParsedResponse(GuzzleHttp\Psr7\Request)

2 /var/www/html/app/src/Service/Auth/OktaAuthenticator.php(133): League\OAuth2\Client\Provider\AbstractProvider->getAccessToken(League\OAuth2\Client\Grant\AuthorizationCode, Array)

plierschpl commented 1 month ago

Maybe is your OpenID Provider hosted with https and your OpenID Client with http This was my fail... the client and the server must be running with HTTPS or all with HTTP without redirects to HTTPS