【发布时间】:2020-09-07 08:38:27
【问题描述】:
我在使用 chrome 作为浏览器的 Web 应用程序上使用 mongodb 和 nodejs。当我登录到我的系统时,它通过 passport.js 进行身份验证。但是 chrome 认为这是一个暴露的密码。我应该怎么做才能防止这种情况发生。我是否需要在 passport.js 上添加类似 B crypt 的东西?所以密码不会暴露,chrome也不会给出这个警告。
成功登录并重新路由到我的主页后出现错误,但我的登录成功
路线
router.get("/main",isLoggedIn,function(req,res)
{
res.render("main");
});
//Login logic
router.post("/signin", passport.authenticate("local",
{
successRedirect : "/main",
failureRedirect : "/signup"
}),function(req, res){
});
护照设置
//Setup passport
app.use(passport.initialize());
app.use(passport.session());
//Serialize user and deseriallize user allows for encoding and decoding
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
passport.use(new LocalStrategy(User.authenticate()));
我的登录表单进入路线:
<form action = "/signin" method="POST">
<input type="text" name="username" placeholder="username">
<input type="password" name="password" placeholder="password">
<button>Sign in</button>
</form>
如果您还有什么需要回答这个问题的,请提出。
【问题讨论】:
-
不是因为你使用的是基本密码进行测试吗?如果您在 Chrome 中使用“test123”之类的基本密码进行测试,无论您的应用执行什么操作,Google 都会向您发出警告。
-
啊,是的,我用它来测试它。我已经改变了它并且它有效。感觉像是犯了一个愚蠢的错误,如果 chrome 会通知您错误详细信息,那就太好了。随意发布作为其他用户的答案,因为它可能会节省一些时间。
标签: javascript node.js mongodb express passport.js