1

我目前正在修复我的俱乐部大约一年前制作的一个旧项目,我看到他们使用 Auth0 进行用户身份验证,但还将用户名和哈希密码存储在 mongodb 的user文档中。user文档还具有管理员、经理或客户等角色,并使用这些角色来限制某些页面和资源。

我的问题是,我们将散列密码与用户名和角色一起存储是否有原因?我假设我们使用散列密码的唯一时间是验证用户是否输入了有效的凭据。但是如果我们必须使用 Auth0 进行身份验证,那么在数据库中存储散列密码有什么好处吗?

我想了解当我们使用像 auth0 这样的第三方身份验证服务时我们将存储散列密码的一般用例。

太感谢了!!

4

1 回答 1

1

据我所知,使代码库灵活,尤其是在使用第三方技术时,总是一个好主意,尤其是在重要项目上。这样做可以防止这种称为供应商锁定的事情。基本上,如果出于某种原因,您想放弃使用 Auth0,那么将用户凭据保存在数据库中将使团队和用户的迁移变得更加容易。除此之外,我认为没有必要将它们存储在这种情况下。

于 2021-05-24T04:24:59.117 回答