Index: google_apis/gaia/fake_gaia.cc |
diff --git a/google_apis/gaia/fake_gaia.cc b/google_apis/gaia/fake_gaia.cc |
index 4cfe6040e53e0ab68bc4dac93116348e3fa8caf1..cdc1237a319a9e6d126ed78f5ddb36b628208d34 100644 |
--- a/google_apis/gaia/fake_gaia.cc |
+++ b/google_apis/gaia/fake_gaia.cc |
@@ -413,14 +413,10 @@ void FakeGaia::HandleSSO(const HttpRequest& request, |
void FakeGaia::HandleAuthToken(const HttpRequest& request, |
BasicHttpResponse* http_response) { |
- std::string grant_type; |
- std::string refresh_token; |
- std::string client_id; |
std::string scope; |
- std::string auth_code; |
- const AccessTokenInfo* token_info = NULL; |
GetQueryParameter(request.content, "scope", &scope); |
+ std::string grant_type; |
if (!GetQueryParameter(request.content, "grant_type", &grant_type)) { |
http_response->set_code(net::HTTP_BAD_REQUEST); |
LOG(ERROR) << "No 'grant_type' param in /o/oauth2/token"; |
@@ -428,6 +424,7 @@ void FakeGaia::HandleAuthToken(const HttpRequest& request, |
} |
if (grant_type == "authorization_code") { |
+ std::string auth_code; |
if (!GetQueryParameter(request.content, "code", &auth_code) || |
auth_code != merge_session_params_.auth_code) { |
http_response->set_code(net::HTTP_BAD_REQUEST); |
@@ -448,26 +445,29 @@ void FakeGaia::HandleAuthToken(const HttpRequest& request, |
merge_session_params_.access_token); |
response_dict.SetInteger("expires_in", 3600); |
FormatJSONResponse(response_dict, http_response); |
- } else if (GetQueryParameter(request.content, |
- "refresh_token", |
- &refresh_token) && |
- GetQueryParameter(request.content, |
- "client_id", |
- &client_id) && |
- (token_info = FindAccessTokenInfo(refresh_token, |
- client_id, |
- scope))) { |
- base::DictionaryValue response_dict; |
- response_dict.SetString("access_token", token_info->token); |
- response_dict.SetInteger("expires_in", 3600); |
- FormatJSONResponse(response_dict, http_response); |
- } else { |
- LOG(ERROR) << "Bad request for /o/oauth2/token - " |
- << "refresh_token = " << refresh_token |
- << ", scope = " << scope |
- << ", client_id = " << client_id; |
- http_response->set_code(net::HTTP_BAD_REQUEST); |
+ return; |
} |
+ |
+ std::string refresh_token; |
+ std::string client_id; |
+ if (GetQueryParameter(request.content, "refresh_token", &refresh_token) && |
+ GetQueryParameter(request.content, "client_id", &client_id)) { |
+ const AccessTokenInfo* token_info = |
+ FindAccessTokenInfo(refresh_token, client_id, scope); |
+ if (token_info) { |
+ base::DictionaryValue response_dict; |
+ response_dict.SetString("access_token", token_info->token); |
+ response_dict.SetInteger("expires_in", 3600); |
+ FormatJSONResponse(response_dict, http_response); |
+ return; |
+ } |
+ } |
+ |
+ LOG(ERROR) << "Bad request for /o/oauth2/token - " |
+ << "refresh_token = " << refresh_token |
+ << ", scope = " << scope |
+ << ", client_id = " << client_id; |
+ http_response->set_code(net::HTTP_BAD_REQUEST); |
} |
void FakeGaia::HandleTokenInfo(const HttpRequest& request, |
@@ -507,20 +507,22 @@ void FakeGaia::HandleIssueToken(const HttpRequest& request, |
std::string access_token; |
std::string scope; |
std::string client_id; |
- const AccessTokenInfo* token_info = NULL; |
if (GetAccessToken(request, kAuthHeaderBearer, &access_token) && |
GetQueryParameter(request.content, "scope", &scope) && |
- GetQueryParameter(request.content, "client_id", &client_id) && |
- (token_info = FindAccessTokenInfo(access_token, client_id, scope))) { |
- base::DictionaryValue response_dict; |
- response_dict.SetString("issueAdvice", "auto"); |
- response_dict.SetString("expiresIn", |
- base::IntToString(token_info->expires_in)); |
- response_dict.SetString("token", token_info->token); |
- FormatJSONResponse(response_dict, http_response); |
- } else { |
- http_response->set_code(net::HTTP_BAD_REQUEST); |
+ GetQueryParameter(request.content, "client_id", &client_id)) { |
+ const AccessTokenInfo* token_info = |
+ FindAccessTokenInfo(access_token, client_id, scope); |
+ if (token_info) { |
+ base::DictionaryValue response_dict; |
+ response_dict.SetString("issueAdvice", "auto"); |
+ response_dict.SetString("expiresIn", |
+ base::IntToString(token_info->expires_in)); |
+ response_dict.SetString("token", token_info->token); |
+ FormatJSONResponse(response_dict, http_response); |
+ return; |
+ } |
} |
+ http_response->set_code(net::HTTP_BAD_REQUEST); |
} |
void FakeGaia::HandleListAccounts(const HttpRequest& request, |