如何在函数Meteor.loginWithFacebook()上传递更多数据?

时间:2017-06-26 15:25:29

标签: javascript meteor cookies

我正在使用

Meteor.loginWithPassword(email, password);

但我想在创建用户时传递cookie。我无法访问服务器端的cookie,所以我需要传递它们。

另外,我无法收到该用户的新ID,因为loginWithFacebook在回调中没有返回ID,所以我不知道如何继续。

Accounts.onCreateUser(function (options, user) {
console.log(options);
//how I pass something to options here?
}
return user; 
});

那我怎么解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

我担心你无法将任何内容传递给onCreateUser。但是,您可以通过为帐户创建创建自定义Meteor方法来解决此问题。

Meteor.methods({
  "registerUser": function(email, password, favouritePony) {
    // You can use your custom parameter
    if (favouritePony === "Pinkie Pie") throw new Meteor.Error("Invalid pony");

    let userId = Accounts.createUser({email, password});
    // Do whatever you want with "userId" here
  }
});

在客户端:

registerUser(email, password, pony) {
  Meteor.call("registerUser", email, password, pony, (error, result) => {
    if (error) {...}
    Meteor.loginWithPassword(email, password);
  });
}