在flutter认证中可以删除firebase帐号吗?2如果可以,怎么做?3我一直在找,但是没有找到方法。
Firestore.instance.collection("users").document(uid).delete().then((_){ // delete account on authentication after user data on database is deleted });
1aaf6o9v1#
使用flutter,如果你想删除firebase帐户和相关的firestore用户集合文档,下面的方法可以很好地工作。(用户集合中的文档以firebase uid命名)。数据库类
class DatabaseService { final String uid; DatabaseService({this.uid}); final CollectionReference userCollection = Firestore.instance.collection('users'); Future deleteuser() { return userCollection.document(uid).delete(); } }
使用Firebase版本0.15.0或更高版本,否则,Firebase reauthenticateWithCredential()方法会抛出类似{ noSuchMethod:已在null }上调用。认证类别
class AuthService { final FirebaseAuth _auth = FirebaseAuth.instance; Future deleteUser(String email, String password) async { try { FirebaseUser user = await _auth.currentUser(); AuthCredential credentials = EmailAuthProvider.getCredential(email: email, password: password); print(user); AuthResult result = await user.reauthenticateWithCredential(credentials); await DatabaseService(uid: result.user.uid).deleteuser(); // called from database class await result.user.delete(); return true; } catch (e) { print(e.toString()); return null; } } }
然后在flutter小部件树的clickable事件中使用以下代码来实现目标;
onTap: () async { await AuthService().deleteUser(email, password); }
wlsrxk512#
删除用户编码:
FirebaseUser user = await FirebaseAuth.instance.currentUser(); user.delete();
1l5u6lss3#
要删除用户帐户,请在用户对象上调用delete()。有关详细信息,请参见FirebaseUser.delete()的参考文档。
delete()
FirebaseUser.delete()
8aqjt8rx4#
User user = FirebaseAuth.instance.currentUser; user.delete();
您可以从中删除用户
4条答案
按热度按时间1aaf6o9v1#
使用flutter,如果你想删除firebase帐户和相关的firestore用户集合文档,下面的方法可以很好地工作。(用户集合中的文档以firebase uid命名)。
数据库类
使用Firebase版本0.15.0或更高版本,否则,Firebase reauthenticateWithCredential()方法会抛出类似{ noSuchMethod:已在null }上调用。
认证类别
然后在flutter小部件树的clickable事件中使用以下代码来实现目标;
wlsrxk512#
删除用户编码:
1l5u6lss3#
要删除用户帐户,请在用户对象上调用
delete()
。有关详细信息,请参见
FirebaseUser.delete()
的参考文档。8aqjt8rx4#
您可以从中删除用户