我使用“league/oauth2-client”库并尝试从提供商处获取访问令牌。我的第一步是让授权代码正常工作。当我向提供商请求访问令牌时,我遇到了类似“cURL error 51: SSL: no Alternativecertificate subject name matches target host name 'XXX.XXX.com'”的异常。
我使用 Postman 通过给定的正确参数手动获取访问令牌。它工作正常,提供商将访问令牌返回给邮递员。
https://github.com/thephpleague/oauth2-client
$provider = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId' => 'XXX',
'clientSecret' => 'YYY',
'redirectUri' => 'https://exampleclient.com/oauth',
'urlAuthorize' => 'https://example.com/OAuth2AuthorizationServer/AuthorizationController',
'urlAccessToken' => 'https://example.com/oauth/AccessTokenController',
'urlResourceOwnerDetails' => 'https://example.com/oauth/ResourceController',
'scopes' => array('BLABLA'),
'verify' => false,
]);
try {
$accessToken = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code']
]);
echo 'Access Token: ' . $accessToken->getToken() . "<br>";
echo 'Refresh Token: ' . $accessToken->getRefreshToken() . "<br>";
echo 'Expired in: ' . $accessToken->getExpires() . "<br>"; …Run Code Online (Sandbox Code Playgroud)