试图更好地了解firebase的工作原理 .
考虑这种情况:
应用程序通过Facebook验证用户,如此处所述 . https://www.firebase.com/docs/android/guide/login/facebook.html
public void onAuthenticated(AuthData authData) { id = authData.getUid()
我们希望以后能够与Twitter等不同提供商的同一用户 Build 联系 .
所以用户现在用户使用Twitter进行身份验证,authData.getUid()与facebook中相同(提供商保证相同 - 但不确定这是如何工作:)
question :
如果现在用户卸载应用程序并再次安装它并仅使用twitter进行身份验证 id = authData.getUid()
将是相同的?这样我们就可以检索先前在 users/id
中存储的用户的数据 . 对于多个提供商来说,这看起来也是一个好方法吗?
1 回答
当单个用户使用多个不同的提供程序进行身份验证时,他们将为每个提供程序获取不同的uid
当单个用户重新安装应用程序并使用相同的提供程序进行身份验证(或在其他设备上登录)时,他们将获得相同的uid .
有关如何跨多个服务处理单个用户的de因子答案,请参阅:How can I login with multiple social services with Firebase?