我在Accounts.createUser()配置中做错了什么?

时间:2018-03-24 13:40:36

标签: meteor meteor-accounts google-account createuser

我似乎无法超越代码中的Accounts.createUser()行。怎么了?

我有:

Router.route('/', {
template: 'info',

   waitOn: function(){
       return Meteor.subscribe('userData');
   }

});

我能够在浏览器控制台中正确查看Meteor.user().services.google.email的结果,这是我自己登录后的电子邮件地址。我也能够看到Meteor.user().services.google.accessToken的正确结果。

现在对于主题中的代码:

Accounts.createUser({email: Meteor.user().services.google.email, password: Meteor.user().services.google.accessToken}, 
   function( error ){

   if(error){
       console.log(error.reason, 'Stranger Danger!');
   } else {
       var userId = Meteor.userId();
       console.log('Welcome!', 'success');

       Meteor.call( "initApiKey", userId );
   }
});

我似乎无法超越Accounts.createUser()行。这是因为,我没有看到任何错误消息,也没有在console.log()之后/之后看到Accounts.createUser()以下函数/回调的结果。

1 个答案:

答案 0 :(得分:0)

我不明白你想用这个代码做什么。 它正在尝试使用已存在的帐户创建用户帐户。 使用代码:"email: Meteor.user().services.google.email, password: Meteor.user().services.google.accessToken"接缝,例如您使用Google帐户登录,并创建了电子邮件和密码。正如你所说,你已经使用该帐户登录了,那么为什么你要根据已经存在的帐户创建另一个帐户?

如果你能够进一步解释你想要完成什么,并从服务器端控制台发布任何错误或消息,我认为更容易得到正在发生的事情。但我认为即使您获得正确的代码,Accounts.createUser()也不允许您使用相同的电子邮件和密码创建两个帐户。