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.
remotes/origin/fix-10825
Adam Williamson 13 years ago
parent d96c06f1a3
commit 18707f5aba
  1. 2
      apps/files_external/3rdparty/google-api-php-client/src/Google/Auth/OAuth2.php

@ -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…
Cancel
Save