SuperTokens 是 Firebase Auth、AuthO、AWS Cognito 等的开源替代品。它完全免费使用,永久免费,对用户数量没有限制。SuperTokens 提供了一种安全的身份验证解决方案,可为应用程序添加登录和会话管理,而不会在用户和开发人员体验上做出任何让步。该架构通过 3 个构建块进行了优化:管理会话令牌和呈现登录 UI 小部件的前端 SDK、后端 SDK 和 HTTP 服务。顶层有 SuperTokens Core,它是处理核心身份验证逻辑的 HTTP 服务。它还负责执行底层数据库作。基本上,它提供了一个包含登录、注册、用户管理和会话管理的端到端解决方案,而无需处理 OAuth 协议的复杂性。它带有内置的登录和注册表单,可以在您的网站上实施。不仅如此,它还提供多种类型的身份验证表格。目前,它支持以下类型的登录系统和模板(又名配方)。无密码社交登录电子邮件密码登录手机密码登录无密码+社交登录电子邮件密码 + 社交登录SuperTokens 的主要编程语言是 Java,但也提供其他编程语言和前端框架的 SDK。请参阅下面的列表。后端:节点JSGoLang蟒前端:反应JS香草 JSReact 原生iOS人造人扑动其他框架:对于其他前端框架,可以构建一个自定义 UI,与 SDK 中公开的 API 进行通信。至于其他后端框架,您可以使用 SuperTokens Core 构建自己的 API。超级代币的主要特点以及为什么应该使用它?它使创建功能齐全的登录系统只需几分钟,因为一切都是现成的。您可以复制模板、修改应用程序和数据库设置并进行部署。它自己处理困难的部分。例如,它有一个内置路由器来处理注册和登录事件。您不必在代码中重写路由。与多个数据库后端很好地集成,例如 GraphQL、Supabase、Netlify、AWS Lambda、Vercel、Capacitor 等。集成社交登录的痛苦不小。如上所述,它会自行处理困难的部分,您只需添加 Google 的客户端 ID 和密钥即可通过 Google 表单实现登录。为所有用户自行处理用户会话。稳健地处理中间件层中的任务。它有一个内置的错误捕获系统,可以处理调用 API 期间引起的大部分错误。这将使调试更容易。如果您想包括短信验证,那么这很容易,而且有一个模板可供您分叉和修改。还作为 Docker 映像提供,可用于本地部署以控制 100% 的用户数据。如何使用超级代币为网站或 Web 应用程序创建登录系统?在这一点上,您已经知道什么是超级代币、它提供什么以及它是如何工作的。现在,让我们尝试在 Web 应用程序中使用它。在这里,我将使用如何使用 SuperToken 在 React 中创建登录系统。在此之前,您必须了解登录流程。只需查看 SuperTokens 文档页面中的此图即可。假设您了解 React,因此,我将跳过它的安装或设置。从演示 React 应用程序开始,它看起来像这样。在这里,我将使用 React 中的 SuperTokens 和后端的辅助 Express 应用程序来处理使用 Google 登录和电子邮件密码登录。因此,安装适用于 Node 的 SuperTokens SDK,然后继续。npm i -s 超级代币-auth-react调用 init() 函数。该网站为您提供了一个代码生成器,您只需输入应用程序的详细信息和您要使用的社交小部件。默认情况下,它会在代码中添加 GitHub、Facebook 等提供商,但您可以手动删除它们。转到 /auth 路由,然后您现在将看到从那里登录。您现在要做的下一件事是配置后端。但首先通过运行它来安装后端引擎。npm i -s 超级代币节点现在,初始化 SuperTokens 后端。同样,文档页面提供代码生成器,就像前端页面一样。它会记住应用程序详细信息,因此,您只需复制代码即可。在后端,您现在需要初始化登录提供者,例如 GitHub、Google 等。同样,代码已经存在,您只需复制粘贴即可。从此代码中省略不需要的提供程序。添加 API 和 CORS 设置代码和错误处理代码。代码已经存在,只需再次复制粘贴即可。使用 Docker 配置 SuperTokens 核心。运行 SuperTokens Docker 镜像的命令是:docker run -p 3567:3567 -d registry.supertokens.io/supertokens/supertokens-mysql:5.0现在是时候配置我在本节开头显示的流程图中的最后一个块,即数据库。它支持 MySQL 和 PostgreSQL 设置,您可以在文档中了解初始配置。此时,如果您现在运行您的应用程序,那么您将遇到以下登录系统。它有效,通过这种方式,SuperTokens 可以在任何 Web 应用程序和网站中使用。请注意,我上面提到的步骤只能显示有效的登录表单。稍后必须配置其他功能,例如注销逻辑和密码重置功能。您可以观看下面的视频以了解完整的工作流程。或者您可以按照其余文档进行作。这是使用 React 和 Express 设置 SuperTokens。但是您可以对其他 SDK 和框架(例如 Python-Flask)遵循相同的指南。综上所述:SuperTokens 是一种安全的身份验证解决方案,为专有登录提供商提供了免费的开源替代方案。该架构通过三个构建块进行了优化,它提供了一个具有用户和会话管理的端到端解决方案,而无需 OAuth 的复杂性。任何人都可以为使超级代币变得更好做出贡献,并且它允许完全控制用户数据。该网站显示可用功能,超级代币可用于登录、会话管理或两者兼而有之。


.jpg)

.jpg)

.jpg)

.jpg)
.jpg)
