当涉及到安全预算时,身份验证和授权对于组织来说是一项昂贵的事务,它是每个公司或个人开发人员的主要关注点,如果您是开发人员/创始人,您会花费大量时间为您的应用。

您花费数天时间为产品创建登录和注册页面。

在那之后,你的工作还没有完成。

你需要:

  • 社交登录

  • 忘记密码流程

  • 会话管理

  • 邮箱验证

  • 用户管理

  • 两因素身份验证和一些业务功能。

所有这些都需要在发布您的产品之前完成,看起来很容易,但并非总是如此。

您将花费大量时间和计划为您的应用程序进行设置。

所以,如果我告诉你我找到了一个很棒的开源平台来拯救我,比如SUPERTOKENS

[blog1.JPG](https://res.cloudinary.com/practicaldev/image/fetch/s--bWoP9BJD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode .com/res/hashnode/image/upload/v1636967400144/IT-dKQ45N.jpeg)

上周我在一个副项目中使用了“Supertokens”,我必须说这是一个很棒的开源“用户身份验证”,可以快速实施且易于定制。⬇

- 使用电子邮件 ID 和密码登录/注册

- 安全会话管理

- 电子邮件验证

- 社交登录

您正在使用哪个用户身份验证?pic.twitter.com/g355g9GuXN

— Ankur💻🎧💪 (@TheAnkurTyagi)2021 年 11 月 9 日

SuperTokens 很好,原因有很多:

  • 易于设置。

  • 实施认证很快,我很喜欢它!

  • 它使用的 Cookie 包含过期的访问令牌,必须使用刷新令牌进行刷新。

SuperTokens 还提供了一个更加端到端的解决方案,让您可以轻松实现跨多个设备同步会话数据或限制用户可以登录的设备数量等功能。

它使您能够以最安全的方式让您的用户长时间保持登录状态。

1- 在您的应用程序中快速设置身份验证简单:

使用 SuperTokens 实现社交和电子邮件密码登录。

在 ReactJS 和 NodeJS 应用程序中实现 Supertokens 的教程。 👇

🔗使用 SuperTokens 实现社交和电子邮件密码登录

在此演示中,您将学习:

  • 显示登录界面

  • 路由

  • 保护网站路由

  • 前端获取用户信息

  • 会话管理和注销。

2- 它是开源的。

  • 开源:SuperTokens 可以永久免费使用,不限制用户数量。

  • 本地部署,以便您使用自己的数据库控制 100% 的用户数据。

  • 具有登录、注册、用户和会话管理的端到端解决方案,没有 OAuth 协议的所有复杂性。

  • 易于实施和更高的安全性。

  • 可扩展性:任何人都可以贡献并让 SuperTokens 变得更好!

查看GITHUB存储库。

3- 入门/食谱:

1- 第三方电子邮件密码

特征:

  • 注册/使用电子邮件 ID 和密码登录

  • 注册/登录第三方提供商(例如:谷歌、Facebook)

  • 使用电子邮件忘记密码流程

  • 安全会话管理

  • 邮箱验证

您可以查看为此配方创建的演示应用程序 >Link

查看演示应用程序的源代码

2- 只有电子邮件密码:

  • 使用电子邮件 ID 和密码注册/登录

  • 忘记使用电子邮件的密码流程

  • 安全会话管理

  • 邮箱验证

您可以查看为此配方创建的演示应用程序 >Link

查看演示应用程序的源代码

3- OnlySocialLogin:

  • 注册/登录第三方提供商

  • 安全会话管理

  • 邮箱验证

您可以查看为此配方创建的演示应用程序 >Link

查看演示应用程序的源代码

4-支持的技术栈:

后端实现:

  • 节点JS

  • 语言

  • Python(FastAPI、Django、Flask)

*前端实现:*

  • ReactJS:它们支持所有当前功能(注册、管理身份验证令牌、社交登录等)。

  • 部分支持 - Vanilla JS、Angular、Vue 和 React Native:它们仅提供会话管理,您必须构建用于登录的前端 UI。

5- SuperTokens 的三个组成部分:

  • 前端 SDK:负责渲染登录 UI 小部件和自动管理会话令牌。

  • 后端 SDK:提供注册、登录、注销、会话刷新等 API。您的前端将与这些 API 对话。

  • SuperTokens Core:这是一个 HTTP 服务,包含 auth 的核心逻辑。它负责与数据库的接口,并由我们的后端 SDK 用于需要数据库的操作。

[self_hosted_generic.png](https://res.cloudinary.com/practicaldev/image/fetch/s--fnLM-dlk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn .hashnode.com/res/hashnode/image/upload/v1637075539345/3vTrMQU-o.png)

例如:登录/注销流程:

您可以看到三个组件如何交互登录和登录流出(使用电子邮件和密码):

[self_hosted.png](https://res.cloudinary.com/practicaldev/image/fetch/s--ouWVg5qE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode .com/res/hashnode/image/upload/v1637075628061/0Z2lDmBPP.png)

这就是这个博客的内容。

我希望你今天学到了一些新东西。如果你这样做了,请喜欢/分享,以便它也能传达给其他人。

如果您是常客,谢谢您,您是我能够与您分享我的生活/职业经历的重要原因。

让我知道您将如何使用SuperTokens创建您的下一个项目。

如果您有任何问题,您可以加入我们的Discord 服务器。

在 Twitter 上关注SuperTokens以获取最新更新。

*在Twitter上与我联系 *

如果你喜欢这个。我鼓励大家注册我的时事通讯。

免费。你可以通过电子邮件问我你的问题。

在此处查看旧版本:Ankur 的 2-1-1 开发人员成长通讯

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐