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