前言:没有什么安全的东西是用这个来存储的--这是我的一个测试项目,看看什么是可能的,什么是不可能的。
我一直在扫描文档,寻找一种方式(在网站上)用他们的电子邮件来登录用户,而不需要他们进入收件箱获得一个auth链接或输入一个密码。
这在技术上有可能吗?
我所想到的一种潜在的黑客方式是有一个隐藏的密码字段,每个用户都有相同的密码,并通过Javascript预先填充。
发布于 2021-09-17 19:03:17
从技术上讲,正如你所描述的那样,这是可能的。如果你对此很满意,你可以为所有用户使用相同的密码,让他们在注册和登录时输入电子邮件。你甚至不需要把它藏在某些领域。只需将其作为明文放在代码中:
-registration
import { getAuth, createUserWithEmailAndPassword } from "firebase/auth";
const auth = getAuth();
createUserWithEmailAndPassword(auth, email, "yourPassword")
.then((userCredential) => {
// Signed in
const user = userCredential.user;
// ...
})
.catch((error) => {
const errorCode = error.code;
const errorMessage = error.message;
// ..
});-login
import { getAuth, signInWithEmailAndPassword } from "firebase/auth";
const auth = getAuth();
signInWithEmailAndPassword(auth, email, "yourPassword")
.then((userCredential) => {
// Signed in
const user = userCredential.user;
// ...
})
.catch((error) => {
const errorCode = error.code;
const errorMessage = error.message;
});通过使用fetchSignInMethodsForEmail,您可以检测用户是否已注册,并在后台自动完成此操作,因此您的用户只需输入电子邮件,不管他们是否有bin在您身边。对于新老用户来说,UX也是一样的。
警告:从技术上讲,这样做是可能的。我和其他人都建议你不要这么做。有人可以使用相同的密码从ppl获取用户数据,只要知道他们是电子邮件或做其他有害的东西,你的项目。
也许你可以向我们解释你为什么要这么做,也许我们可以为你找到一个bette解决方案。
https://stackoverflow.com/questions/69227801
复制相似问题