Firebase 使用自行指定的uid创建用户
我正在使用Flatter和firebase来管理我的用户,在这个链接中,它说您可以在用户创建期间指定uid: 我的问题:飞镖/颤振的等价物是什么?我知道firebase会自动为您生成一个,但在我的用例中,我需要能够指定我的 对于flatter,我只知道createUserWithEmailAndPassword方法,但它没有“uid”参数Firebase 使用自行指定的uid创建用户,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,我正在使用Flatter和firebase来管理我的用户,在这个链接中,它说您可以在用户创建期间指定uid: 我的问题:飞镖/颤振的等价物是什么?我知道firebase会自动为您生成一个,但在我的用例中,我需要能够指定我的 对于flatter,我只知道createUserWithEmailAndPassword方法,但它没有“uid”参数 FirebaseAuth.instance.createUserWithEmailAndPassword(email: null, password: nul
FirebaseAuth.instance.createUserWithEmailAndPassword(email: null, password: null)
然而,在上面的链接中,他们提供了一个使用此类方法的示例(node.js)
admin.auth().createUser({
uid: 'some-uid',
email: 'user@example.com',
phoneNumber: '+11234567890'
})
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully created new user:', userRecord.uid);
})
.catch(function(error) {
console.log('Error creating new user:', error);
});
任何平台(Android、iOS、web、Flatter等)上的Firebase客户端SDK都没有此类选项
Firebase Admin是一个服务器SDK,它相信调用其方法的代码是有权限的,并且运行在安全可信的环境中。这被认为是安全的发明UID。客户端SDK在用户设备上运行,这被认为是不可信的,可能会受到危害。在这种情况下,Firebase Auth产品必须为用户提供适当的UID。您可以通过实现自定义提供程序来完全控制Firebase身份验证用户的创建。但正如您可能想象的那样,这是一个敏感的操作,因此代码要求您拥有对Firebase项目的完全管理权限。因此,您不能在Flatter应用程序中运行此类操作,但必须在受信任的环境中运行,例如您的开发机器、您控制的服务器或云功能 这通常意味着:
我只是想了解一下,客户端SDK在登录并在第5步返回令牌后,是否仍能正常管理客户端令牌的刷新?对于自定义提供商,您必须自己处理令牌刷新,由于SDK无法知道如何刷新您创建的令牌。我遵循了您的步骤,首先感谢,它帮助我解决了使用其他服务器提供给我的UID的问题,并让我的规则检查“.if request.auth!=null”。也许我的问题不清楚,我想知道从firebase接收到的令牌(现在在Flitter中使用)是否会在应用程序中自动刷新,就像从客户端使用普通firebase身份验证时一样。我现在正在使用signInWithCustomToken(token_response)登录。“首先感谢”->Upvows,我必须与团队进行双重检查,而我之前实际上是错的。事实证明,当您在客户端上调用
signInWithCustomToken(token)
时,SDK会每小时自动刷新ID令牌。