2020 年用户身份验证
预建传统身份验证
无密码身份验证
社交登录
实现你自己的
总结
更新
2020 年,对于许多初创公司、业余项目和公司来说,使用 Firebase、Authpack 和 Auth0 等预先构建的身份验证系统比构建自己的系统更安全、更高效。
如果你仔细想想,这很有道理。又不是每家公司都自己写 JavaScript 框架。公司为什么要重新发明轮子呢?
话虽如此,在本文中,我们将探讨一些不同的身份验证选项和类别。
事不宜迟,让我们开始吧
预建传统身份验证
这是大多数网站仍在使用的传统标准。网站通常要求输入用户名或邮箱地址以及密码。
虽然这是最常见的设置,但我认为与无密码标准相比,它会导致安全性降低。
加密安全的随机生成的代码比普通密码更难猜测。
但是,许多用户更喜欢这种方法,因为他们已经习惯了。最受欢迎的选项并不总是最好的,但传统的身份验证具有众所周知和认可的优势。每个人都了解它的概念,主要是因为它并非植根于神秘的技术。采用传统方式可以让用户从一开始就习惯您的平台。
因此,如果您不想花费您的创新代币(阅读此文)或更喜欢熟悉您的用户群,那么这可能是您的最佳选择。
我的建议
- Authpack:非常慷慨的免费套餐,用户数量不限。优秀的支持和文档。还集成了 Stripe 支付。用户体验极佳
- Auth0:更注重企业用户。免费计划,拥有 7000 名活跃用户
- Firebase Auth:Firebase 的一部分。包含许多其他选项,例如匿名登录、社交登录和电话身份验证。电话身份验证仅限 10000 名用户免费使用。
无密码身份验证
最近,一些公司已经开始提供无密码身份验证,作为一种比传统身份验证风险更低的替代方案。
这些协议使用公私加密算法生成密钥对。公钥会保存到与另一部分数据(通常是电子邮件或电话号码)关联的数据库中。然后,浏览器会发送一个“挑战”,并使用私钥进行验证。服务器会向浏览器发送一个唯一的令牌,交易就此结束。您可以阅读以下提供商的更多信息。
我联系了DID.app寻求一句话总结,他们是这样说的。
DID.app 是一个身份提供者,通过验证对电子邮件地址或安全存储的私钥的访问来对用户进行身份验证。
这个过程极大地提高了安全性,用户体验也可能更好,但前提是他们已经习惯了。如果你想尝试一项新兴且有前景的技术,无密码或许是一个不错的选择。
我的建议
社交登录
这似乎对用户和公司来说都是一个完美的解决方案。用户可以更快地完成注册,而公司几乎无需管理身份验证或支付相关费用。
这些通常依赖 0Auth 标准来授权应用程序
社交登录最终也能实现一些伟大的混合,比如SOA(Anton 之子)
您可以使用Passport (由 Auth0 赞助)和 Express轻松自行实现这些功能,或者使用其中一个平台。使用 Passport 自行实现解决方案相对安全,并且能够灵活地添加几乎所有社交服务提供商。如果您需要与一些不太知名的服务集成,这可能是您唯一可行的选择。
我的建议
- Authpack:目前只有四个选项(Google、Facebook、Slack、Github),但创建者可以根据需求添加新的选项。功能与前面提到的相同。
- Firebase Auth:许多提供商都支持,但很可能很难添加一个
- Auth0:不清楚支持哪些社交登录提供商。支持使用 Google 登录
实现你自己的
不建议自行构建用于生产的身份验证系统。这样做存在诸多安全风险。只能说,这不是一项胆小者能完成的任务。
如果你真的想尝试这个挑战,那就假设你会被黑客入侵。这不是会不会的问题,而是何时以及如何入侵的问题。
如果你选择这条路线,就必须对网络安全有深入的了解。了解哈希函数、加密、SSL 和 TLS、会话等等都至关重要。
我建议使用Express作为服务器、护照和护照本地以及头盔来增加一些安全性。
我的建议
总结
关于 Auth,我最推荐的是Authpack和DID.app。它们都是经过深思熟虑的服务,在各自的领域中都非常有用。
希望你喜欢这篇文章。我花了很多时间撰写这篇文章,非常感谢任何反馈或建议。如果你希望我撰写一篇关于实现这些服务的文章,请告诉我。
感谢您的阅读,请记住对您的密码进行哈希处理!
更新
我刚刚发现了Magic。它是一款基于链接的无密码身份验证服务。或许值得考虑一下。
鏂囩珷鏉ユ簮锛�https://dev.to/ajkachnic/user-authentication-in-2020-1n53