From 664fe7ef730a516da612fef9f2f8dd8b6b401aae Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 26 Apr 2013 07:52:58 -0700 Subject: [PATCH] Add a User-Agent header to OAuth requests Summary: GitHub now requires this: http://developer.github.com/changes/2013-04-24-user-agent-required/ Test Plan: Used GitHub auth to login. Reviewers: btrahan, chad Reviewed By: chad CC: aran Differential Revision: https://secure.phabricator.com/D5787 --- .../controller/PhabricatorOAuthLoginController.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/applications/auth/controller/PhabricatorOAuthLoginController.php b/src/applications/auth/controller/PhabricatorOAuthLoginController.php index a226f5e9cf..fd991dc22b 100644 --- a/src/applications/auth/controller/PhabricatorOAuthLoginController.php +++ b/src/applications/auth/controller/PhabricatorOAuthLoginController.php @@ -47,12 +47,13 @@ final class PhabricatorOAuthLoginController $userinfo_uri = (string)$userinfo_uri; try { - $user_data = HTTPSFuture::loadContent($userinfo_uri); - if ($user_data === false) { - throw new PhabricatorOAuthProviderException( - "Request to '{$userinfo_uri}' failed!"); - } - $provider->setUserData($user_data); + $user_data_request = new HTTPSFuture($userinfo_uri); + + // NOTE: GitHub requires a User-Agent header. + $user_data_request->addHeader('User-Agent', 'Phabricator'); + + list($body) = $user_data_request->resolvex(); + $provider->setUserData($body); } catch (PhabricatorOAuthProviderException $e) { return $this->buildErrorResponse(new PhabricatorOAuthFailureView(), $e); }