It takes roughly 30 seconds and then returns the following:
Fatal error: Uncaught RuntimeException: Error creating resource: [message] fopen(https://login.microsoftonline.com/[application id]/oauth2/v2.0/token): failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [file] ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php [line] 326 in ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php:254 Stack trace: #0 ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php(337): GuzzleHttp\Handler\StreamHandler->createResource(Object(Closure)) #1 ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php(53): GuzzleHttp\Handler\StreamHandler->createStream(Object(GuzzleHttp\Psr7\Request), Array) #2 C:\Apac in ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php on line 67
The authentication code is sent back to my application after user logs in. Then I am getting stuck while I request for the Access Token. i.e,
$token = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]);
It takes roughly 30 seconds and then returns the following:
Fatal error: Uncaught RuntimeException: Error creating resource: [message] fopen(https://login.microsoftonline.com/[application id]/oauth2/v2.0/token): failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [file] ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php [line] 326 in ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php:254 Stack trace: #0 ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php(337): GuzzleHttp\Handler\StreamHandler->createResource(Object(Closure)) #1 ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php(53): GuzzleHttp\Handler\StreamHandler->createStream(Object(GuzzleHttp\Psr7\Request), Array) #2 C:\Apac in ..\vendor\guzzlehttp\guzzle\src\Handler\StreamHandler.php on line 67
I am using the below code as provider:
` $provider = new Stevenmaguire\OAuth2\Client\Provider\Microsoft([ 'clientId' => 'my clientId', 'clientSecret' => 'my clientSecret', 'redirectUri' => 'my redirectUri',
]); `
And in Microsoft.php
public $defaultScopes = ['openid profile'];
My assumption was that it is happening because of the proxy. So I added the below code in the same page from where I am requesting for the token.
stream_context_set_default(['http'=>['proxy'=>'tcp://IP:port', 'header'=>'Proxy-Authorization: Basic '.base64_encode('Username:Password')]]);
For validating the internet connection I tried this proxy for scrapping HTML source code of any random websites and it worked.
Could you help me on how to set the proxy for oauth2-microsoft? Or am I getting this error because of any other reasons I failed to see?