许多网站都有无密码的身份验证系统,即,您仅可以使用电子邮件进行注册/登录/注销,并且不需要密码。
一个人将如何实现这样的系统?(框架和与语言无关)
注意:我已经读过:
Password-less authentication in web apps - How safe it is? 和其他一些安全性。SE帖子
和searched for SO posts about如何实际实现[password-less]登录系统,但没有成功;我还没有找到关于实现无密码身份验证的规范问题
Manually logging in a user without password已链接,但不是同一件事:想法是在成功创建帐户后立即登录,但不一定是100%无需密码的身份验证系统。
答案 0 :(得分:0)
在我搜索了很长时间之后,这是我使用SO的“回答您自己的问题-问答式”功能发布的摘要。我会尽可能地对其进行更新以改进它。
注册:
{email: 'test@test.com', data: 'data'}
登录:
{email: 'test@test.com'}
打开链接:
document.cookie = "sessid=f65a5bc45; expires=Fri, 31 Dec 9999 23:59:59 GMT"
(或在服务器端进行操作,例如使用PHP)?sessid
个查询字符串已删除,导航至/
打开/
:
{sessid: getCookieValue('sessid')}
xhr.onreadystatechange
:用用户数据填充页面注册:
{email: 'test@test.com', data: 'data'}
登录:
{email: 'test@test.com'}
{email: 'test@test.com', code: '123456'}
document.cookie = "sessid=f65a5bc45; expires=Fri, 31 Dec 9999 23:59:59 GMT"
(或使用PHP在此服务器端进行操作)/
打开/
:
{sessid: getCookieValue('sessid')}
xhr.onreadystatechange
:用用户数据填充页面