2

我正在努力掌握使用 JavaScript 和 CouchDB 实现用户登录/注销的最佳方式的概念。

我习惯于使用服务器端代码创建用户登录/注销控制,该代码创建一个存储用户信息的会话,然后自动在安全页面上运行代码以“锁定”未经授权的用户。

当然,客户端代码无法进行相同的设置。我已经阅读了很多关于不同“概念”的内容——无论是 HTTP 基本身份验证、Cookie 身份验证,还是 OAuth、Persona 或 OpenID 等第三方提供商。

所以想象一下 - 我的用户在他的浏览器中加载登录表单(当然是 HTTPS)> 他在表单中输入他的凭据并提交 > javascript 然后使用 REST 调用根据存储在 CouchDB 中的凭据验证凭据 > 登录成功 > 这里在哪里它对我来说很模糊......

通常我会将用户信息存储在会话变量中,服务器将处理身份验证。使用 JavaScript 我必须使用 cookie 吗?显然我没有将用户名和密码存储在cookie中,尤其不是明文,我是否必须生成令牌,对令牌进行哈希处理并将其存储在cookie和数据库中?那么在每个“安全”的页面上,我是否必须有一个脚本来检查该 cookie/令牌?当用户注销时,您会删除 cookie 和令牌吗?

请让我知道我是否正确理解这一点,有没有更好的方法来解决这个问题?我可以使用 CouchDB 实现某种安全性吗?我有点讨厌在 cookie 中存储任何东西,但也许这是 JavaScript 的唯一方法?谢谢!!!!!

4

0 回答 0