From cbadead8c7fb6044893096928f2be795ee8f0ab2 Mon Sep 17 00:00:00 2001 From: Avital Oliver Date: Sun, 14 Apr 2013 00:29:53 -0700 Subject: [PATCH] accounts-weibo: make sure uid indeed parses to an integer --- packages/accounts-weibo/weibo_server.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/accounts-weibo/weibo_server.js b/packages/accounts-weibo/weibo_server.js index f0fdf23333..9e75cf0333 100644 --- a/packages/accounts-weibo/weibo_server.js +++ b/packages/accounts-weibo/weibo_server.js @@ -2,6 +2,12 @@ Accounts.oauth.registerService('weibo', 2, function(query) { var response = getTokenResponse(query); var uid = parseInt(response.uid, 10); + + // different parts of weibo's api seem to expect numbers, or strings + // for uid. let's make sure they're both the same. + if (response.uid !== uid + "") + throw new Error("Expected 'uid' to parse to an integer: " + JSON.stringify(response)); + var identity = getIdentity(response.access_token, uid); return { @@ -41,8 +47,8 @@ var getTokenResponse = function (query) { "HTTP Error " + result.statusCode + ": " + result.content); } - // result.headers["content-type"] is 'text/plain;charset=UTF-8', so the http - // package doesn't automatically populate result.data + // result.headers["content-type"] is 'text/plain;charset=UTF-8', so + // the http package doesn't automatically populate result.data result.data = JSON.parse(result.content); if (result.data.error) { // if the http response was a json object with an error attribute