gpt4 book ai didi

reactjs - NextAuth 凭据未保存状态

转载 作者:行者123 更新时间:2023-12-05 06:51:16 34 4
gpt4 key购买 nike

我将 nextAuth 与我自己的用户数据库 (mongoDb) 一起使用,我希望此人能够使用他们的凭据登录。问题是我的用户对象没有被保存在状态中,这似乎是 nextAuth 的人为了阻止用户名和密码而设计的选择,他们说:

If you use a custom credentials provider user accounts will not be 
persisted in a database by NextAuth.js (even if one is configured)

这似乎是一个巨大的障碍......我目前正在这样做以克服它,并且想知道这里的缺点是什么:

 async authorize(credentials) {

// check if the user exists in the database
let user = await db.collection('users').findOne({username:credentials.username})

if (user && user.password == credentials.password) {
// return the user object returned from the database
// because next auth will not save this is state
return {name: {user}}
} else {
return {name: null, email: null, image: null}
}
}

最佳答案

缺点是您必须自己管理在数据库中保存密码的安全方面。

我们通常推荐拥有经过实战检验的系统的第三方提供商来确保您的密码安全。如果您愿意推出自己的解决方案,那就没有问题。

作为警告说明 ⚠,仅从您上面的代码,我已经看到了一个巨大安全问题。您似乎将密码作为纯文本存储在数据库中。如果您的数据库被泄露,您所有用户的帐户将立即可供黑客使用。

关于reactjs - NextAuth 凭据未保存状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66200453/

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