我已成功以匿名方式登录用户并使用Google / Facebook。
user.service.ts
:
loginFacebook() {
this.af.auth.login({
provider: AuthProviders.Facebook,
method: AuthMethods.Popup,
});
}
loginGoogle() {
this.af.auth.login({
provider: AuthProviders.Google,
method: AuthMethods.Popup,
});
}
loginAnonymous() {
this.af.auth.login({
provider: AuthProviders.Anonymous,
method: AuthMethods.Anonymous,
});
}
但我想做的是将匿名用户与Facebook用户合并。
因为现在发生了什么:
匿名用户=> uuid 1
匿名用户(uuid 1)=> log facebook / google => fb user(uuid 2)
所以我在同一个用户的数据库中有2个不同的uuid。
你知道怎么用AngularFire2做这个吗?
由于
答案 0 :(得分:0)
在您登录匿名用户后,每当用户升级到Facebook / Google帐户时,请先尝试链接。调用anonymousUser.linkWithPopup(facebookProvider)。这将成功或将抛出facebook用户存在的错误。在这种情况下,错误将包含facebook凭证。然后,您可以signInWithCredential(error.credential)并手动将匿名用户与facebook用户合并(将数据从一个复制到另一个),然后您可以删除匿名用户。