[auth] Updates parsing of OAuth responses
TEST:
fx set x64 --product workstation --monolith topaz/packages/tests/all
fx run-test auth_provider_tests
Change-Id: I91e94ddb9881ef1c69c6b802f1ffa63c570ded5e
diff --git a/auth_providers/google/google_auth_provider_impl.cc b/auth_providers/google/google_auth_provider_impl.cc
index 466b46b..3d233a6 100644
--- a/auth_providers/google/google_auth_provider_impl.cc
+++ b/auth_providers/google/google_auth_provider_impl.cc
@@ -329,20 +329,20 @@
const char kRootSchema[] = R"({
"type": "object",
"properties": {
- "id_token": {
+ "idToken": {
"type": "string"
},
"email": {
"type": "string"
},
- "local_id": {
+ "localId": {
"type": "string"
},
- "expires_in": {
- "type": "integer"
+ "expiresIn": {
+ "type": "string"
}
},
- "required": ["id_token", "email", "local_id", "expires_in"]
+ "required": ["idToken", "email", "localId", "expiresIn"]
})";
auto root_schema = rapidjson_utils::InitSchema(kRootSchema);
if (!root_schema) {
@@ -356,11 +356,11 @@
}
FirebaseTokenPtr fb_token = fuchsia::auth::FirebaseToken::New();
- fb_token->id_token = oauth_response.json_response["id_token"].GetString();
+ fb_token->id_token = oauth_response.json_response["idToken"].GetString();
fb_token->email = oauth_response.json_response["email"].GetString();
- fb_token->local_id = oauth_response.json_response["local_id"].GetString();
+ fb_token->local_id = oauth_response.json_response["localId"].GetString();
fb_token->expires_in =
- oauth_response.json_response["expires_in"].GetUint64();
+ std::atoll(oauth_response.json_response["expiresIn"].GetString());
callback(AuthProviderStatus::OK, std::move(fb_token));
});
diff --git a/auth_providers/google/google_auth_provider_impl_unittest.cc b/auth_providers/google/google_auth_provider_impl_unittest.cc
index c8f0368..a706e0a 100644
--- a/auth_providers/google/google_auth_provider_impl_unittest.cc
+++ b/auth_providers/google/google_auth_provider_impl_unittest.cc
@@ -232,8 +232,8 @@
rapidjson::Document ok_response;
ok_response.Parse(
- "{\"id_token\":\"test_fb_token\", \"local_id\":\"test123\",\
- \"email\":\"foo@example.com\", \"expires_in\":3600}");
+ "{\"idToken\":\"test_fb_token\", \"localId\":\"test123\",\
+ \"email\":\"foo@example.com\", \"expiresIn\":\"3600\"}");
network_wrapper_.SetStringResponse(
modular::JsonValueToPrettyString(ok_response), 200);