0

我似乎无法超越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()以下函数/回调的结果 in/after Accounts.createUser()

4

1 回答 1

0

我不明白你想用那个代码做什么。您正在尝试使用已存在的帐户创建用户帐户。使用代码:"email: Meteor.user().services.google.email, password: Meteor.user().services.google.accessToken"就像您使用谷歌帐户登录并创建电子邮件和密码一样。正如您所说,您已经使用该帐户登录,那么为什么要基于已经存在的帐户创建另一个帐户?

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

于 2018-03-25T12:51:40.980 回答