diff --git a/packages/accounts-facebook/facebook_server.js b/packages/accounts-facebook/facebook_server.js index b625595a44..e7d521ca6f 100644 --- a/packages/accounts-facebook/facebook_server.js +++ b/packages/accounts-facebook/facebook_server.js @@ -5,15 +5,6 @@ }; Meteor.accounts.oauth.registerService('facebook', {version: 2}, function(query) { - if (query.error) { - // The user didn't authorize access - return null; - } - - if (!Meteor.accounts.facebook._appId || !Meteor.accounts.facebook._appUrl) - throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts.facebook.config first"); - if (!Meteor.accounts.facebook._secret) - throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts.facebook.setSecret first"); var accessToken = getAccessToken(query); var identity = getIdentity(accessToken); diff --git a/packages/accounts-google/google_server.js b/packages/accounts-google/google_server.js index 203f607530..2fd5b350ea 100644 --- a/packages/accounts-google/google_server.js +++ b/packages/accounts-google/google_server.js @@ -5,15 +5,6 @@ }; Meteor.accounts.oauth.registerService('google', {version: 2}, function(query) { - if (query.error) { - // The user didn't authorize access - return null; - } - - if (!Meteor.accounts.google._appId || !Meteor.accounts.google._appUrl) - throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts.google.config first"); - if (!Meteor.accounts.google._secret) - throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts.google.setSecret first"); var accessToken = getAccessToken(query); var identity = getIdentity(accessToken); diff --git a/packages/accounts-oauth1-helper/oauth1_server.js b/packages/accounts-oauth1-helper/oauth1_server.js index 71b139632c..23388327bf 100644 --- a/packages/accounts-oauth1-helper/oauth1_server.js +++ b/packages/accounts-oauth1-helper/oauth1_server.js @@ -23,16 +23,16 @@ return; } - // Make sure we prepare the login results before returning. - // This way the subsequent call to the `login` method will be - // immediate. - // Make sure we're configured if (!Meteor.accounts[serviceName]._appId || !Meteor.accounts[serviceName]._appUrl) throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts." + serviceName + ".config first"); if (!Meteor.accounts[serviceName]._secret) throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts." + serviceName + ".setSecret first"); + // Make sure we prepare the login results before returning. + // This way the subsequent call to the `login` method will be + // immediate. + var config = Meteor.accounts[serviceName]; var oauth = new OAuth1(config); diff --git a/packages/accounts-oauth2-helper/oauth2_server.js b/packages/accounts-oauth2-helper/oauth2_server.js index 566ab3f978..183ad442af 100644 --- a/packages/accounts-oauth2-helper/oauth2_server.js +++ b/packages/accounts-oauth2-helper/oauth2_server.js @@ -24,6 +24,17 @@ return; } + // Make sure we're configured + if (!Meteor.accounts[serviceName]._appId || !Meteor.accounts[serviceName]._appUrl) + throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts." + serviceName + ".config first"); + if (!Meteor.accounts[serviceName]._secret) + throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts." + serviceName + ".setSecret first"); + + if (req.query.error) { + // The user didn't authorize access + return null; + } + // Make sure we prepare the login results before returning. // This way the subsequent call to the `login` method will be // immediate. diff --git a/packages/accounts-weibo/weibo_server.js b/packages/accounts-weibo/weibo_server.js index 64e1e5a3d2..34bceeb3da 100644 --- a/packages/accounts-weibo/weibo_server.js +++ b/packages/accounts-weibo/weibo_server.js @@ -5,15 +5,6 @@ }; Meteor.accounts.oauth.registerService('weibo', {version: 2}, function(query) { - if (query.error) { - // The user didn't authorize access - return null; - } - - if (!Meteor.accounts.weibo._appId || !Meteor.accounts.weibo._appUrl) - throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts.weibo.config first"); - if (!Meteor.accounts.weibo._secret) - throw new Meteor.accounts.ConfigError("Need to call Meteor.accounts.weibo.setSecret first"); var accessToken = getAccessToken(query); var identity = getIdentity(accessToken.access_token, parseInt(accessToken.uid, 10));