fix a bug in google-api-php-client: generates an auth url that doesn't work
Submitted upstream as https://github.com/google/google-api-php-client/issues/76 Google's php lib has a function to generate a URL for OAuth2 authentication. It uses http_build_query() to generate the query part of the URL, and in PHP 5.3 or later, this uses an encoded ampersand - & - as the query separator, not a raw one. However, Google's OAuth server apparently can't handle encoded ampersands as separators and so it fails. This patch explicitly sets a raw ampersand as the separator. If Google decides to fix their OAuth server instead of merging this patch into google-api-php- client, we can drop this patch as soon as that happens.
This commit is contained in:
parent
d96c06f1a3
commit
18707f5aba
|
@ -161,7 +161,7 @@ class Google_Auth_OAuth2 extends Google_Auth_Abstract
|
|||
$params['state'] = $this->state;
|
||||
}
|
||||
|
||||
return self::OAUTH2_AUTH_URL . "?" . http_build_query($params);
|
||||
return self::OAUTH2_AUTH_URL . "?" . http_build_query($params, '', '&');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue