gpt4 book ai didi

java - 登录设计逻辑

转载 作者:行者123 更新时间:2023-12-01 08:48:00 24 4
gpt4 key购买 nike

这是一个非常普遍的问题,但欢迎任何建议。

我正在编写一个使用 Firebase 身份验证的 Ionic2 应用。

用户可以注册该应用。验证电子邮件将发送到用户的电子邮件地址。如果用户验证了他们的电子邮件,他们就可以访问该应用。

但是,如果用户未验证其电子邮件,例如使用错误的电子邮件地址登录,则该电子邮件将永远不会得到验证。在这种情况下,错误注册的电子邮件地址会冗余地存储在 Firebase 数据库中,或者如果有效用户尝试使用该电子邮件进行注册,他们会收到一条消息,表明该电子邮件地址属于原始提供商(Facebook、Google 或普通电子邮件) ,并且无法注册为其他提供商。

如您所见,上述情况可能会阻止用户注册其电子邮件地址。

我尝试在用户登录时删除 Firebase 帐户,以便他们重新开始,因为我确实有匹配的 uid。但是,我认为 AngularFire2 api 不允许通过 uid 删除 Firebase 帐户。请参阅 here

可以建议:

  1. 如何通过uid删除帐户,或者
  2. 我可以使用另一种设计来解决此问题。

谢谢你

更新

感谢您在下面的建议。我有一个 Java 服务器,我想用它来对用户进行 Firebase 管理员管理。

我找到了有关如何初始化 Firebase Admin 的 Java documentation。例如

public void initialize() {
String keyPath = "/appname-123456-firebase-adminsdk-eknji-3071d579f5.json";

InputStream serviceAccount;
ClassLoader loader = Thread.currentThread().getContextClassLoader();
serviceAccount = loader.getResourceAsStream(keyPath);
// serviceAccount = new FileInputStream(keyPath);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://appname-123456.firebaseio.com").build();
FirebaseApp app = FirebaseApp.initializeApp(options);
FirebaseAuth auth = FirebaseAuth.getInstance();
FirebaseDatabase database = FirebaseDatabase.getInstance();
}

我可以找到 Node.js documentation 了解如何管理用户。但是在 Java 中如何做到这一点呢?即如何通过 uid 删除用户?

更新

看起来您需要使用 uid 创建自定义 token 。请参阅 here

如何在 Java 中执行以下操作?

admin.auth().deleteUser(uid)
.then(function() {
console.log("Successfully deleted user");
})
.catch(function(error) {
console.log("Error deleting user:", error);
});

更新

我认为不可能用 Java 管理帐户。我认为自定义 token 需要传递回客户端,然后用于登录该用户。请参阅 here

最佳答案

可通过三种方式删除 Firebase 身份验证帐户:

  1. 来自 Firebase Authentication console .
  2. 调用 delete() on the signed in user from the app .
  3. 作者:calling deleteUser() from the Admin SDK .

听起来您正在寻找选项 3。这要求您运行一个可信进程来删除无关的用户。 不要尝试在实际应用中运行此代码,因为这会打开安全性,允许所有应用的用户删除彼此的帐户。

关于java - 登录设计逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com