抱歉通用标题。我现在正在玩Mozilla的Persona。我正在将Express.js与express-persona中间件一起使用,因此设置一切非常简单。客户端部分也很简单,但我很难理解文档的某个特定部分。它说:
loggedInUser:当前登录您的用户的电子邮件地址 来自此计算机的网站,如果没有人登录,则 null 。例如, 您可以检查浏览器的cookie以确定谁已登录。 [...] Persona将比较您传递的电子邮件地址 loggedInUser ,拥有自己当前用户的知识 登录,他们是谁。如果这些不匹配,它可能会 在页面加载时自动调用 onlogin 或 onlogout 。 (Source)
express-persona设置一个cookie,其中包括(我猜)用作密码替换的crypto-foo。我应该将后端返回的电子邮件地址存储在单独的cookie中吗?这似乎不是一个好主意。也许你们其中一个人知道这应该如何运作。
答案 0 :(得分:4)
您不会将电子邮件地址存储在Persona的cookie中,只需将用户名存储在cookie中以进行密码驱动的登录。
不,基本上你用Persona做同样的事情:使用存储在服务器上的会话,从cookie中键入。唯一的区别是您的网站通过了Persona身份验证过程,而不是验证用户名+密码。
您链接到的网页上的示例包含currentUser变量。好吧,在一个真实的网站中,该变量将作为模板从服务器端填写。做任何你想做的事情来支持登录会话,找到当前经过身份验证的用户,插入该用户的电子邮件地址。