1

我正在使用 Accounts 下的 loginWithExternalService 方法,我很遗憾地发现,虽然您可以使用这些服务之一创建新用户或登录已经拥有凭据的用户,但无法允许当前登录的用户增强他们的方法身份验证,以便他们可以使用他们通过身份验证的任何服务登录。有没有办法将用户的 FB 个人资料或用户的 Twitter url 等信息转储到他们现有的、当前登录的帐户中?我尝试自定义帐户库,但 this.userId 在其中返回 null,因此我无法对当前登录的用户进行更新。

4

1 回答 1

2

可能应该有一个更好的 API,但目前(Meteor 0.5.2)下面的服务器代码将创建一个与 Facebook ID 关联的用户。

var newlyCreatedUserId = Accounts.updateOrCreateUserFromExternalService(
  'facebook',
  {id: FACEBOOK_ID},
  {additionalFieldOnUserDocumented: 'foo'}).id

如果您深入研究实现,Accounts.updateOrCreateUserFromExternalService您可以看到如何将这些字段添加到现有用户。

于 2012-12-14T01:37:20.643 回答