Skip to content

yuanzhongqiao/supertokens-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

超级代币横幅

开源授权提供商

在 Discord 上聊天 Docker 拉取统计数据

为您的应用程序添加安全登录和会话管理。适用于流行语言和前端框架的SDK ,例如 Node.js、Go、Python、React.js、React Native、Vanilla JS 等。

架构图 Supertokens 架构经过优化,可为您的用户添加安全身份验证,而不会影响用户和开发人员体验

SuperTokens 架构的三个构建块

  1. 前端 SDK:管理会话令牌并呈现登录 UI 小部件
  2. 后端 SDK:提供用于注册、登录、注销、会话刷新等 API。您的前端将与这些 API 对话
  3. SuperTokens Core:用于核心身份验证逻辑和数据库操作的 HTTP 服务。该服务由后端SDK使用

特征

点击这里开始

  • 无密码登录
  • 社交登录
  • 邮箱 密码 登录
  • 手机密码登录
  • 会话管理
  • 多重身份验证
  • 多租户/组织支持(企业 SSO)
  • 用户角色
  • 微服务认证

了解更多

如果您喜欢我们的项目,请🌟这个存储库!如需反馈,请随时加入我们的Discord,或在此存储库上创建问题

🚀 什么是超级代币?

SuperTokens 是 Auth0 或 AWS Cognito 等专有登录提供商的开放核心替代方案。我们与众不同,因为我们提供:

  • 开源:SuperTokens可以永久免费使用,用户数量没有限制。
  • 本地部署,以便您使用自己的数据库控制 100% 的用户数据。
  • 具有登录、注册、用户和会话管理功能的端到端解决方案,没有 OAuth 协议的所有复杂性。
  • 易于实施且安全性更高。
  • 可扩展性:任何人都可以做出贡献并使 SuperTokens 变得更好!

哲学

身份验证直接影响任何应用程序的用户体验、开发体验和安全性。我们认为,当前的解决方案无法针对所有三个“支柱”进行优化,导致许多应用程序手动滚动自己的 auth。这不仅会导致安全问题,而且还会浪费大量时间。

我们想要改变这一点 - 我们相信唯一的方法是提供一个具有正确抽象级别的解决方案,为您提供最大程度的控制,安全且易于使用 - 就像您自己从头开始构建它一样(减去学习、构建和维护的时间)。

我们还相信最少供应商锁定的原则。您对用户数据的完全控制意味着您可以放弃 SuperTokens,而无需强迫现有用户注销、重置密码,或者在最坏的情况下重新注册。

单击此处查看演示应用程序。

  • 请访问我们的网站查看功能列表。
  • 我们希望使功能尽可能解耦。这意味着您可以使用 SuperToken 仅用于登录,或仅用于会话管理,或两者兼而有之。事实上,我们还提供与其他登录提供商(如 Auth0)的会话管理集成。

文档

这些文档可以在我们的网站上看到。

GitHub wiki 部分上有有关 SuperToken 的更多信息。

🏗️建筑

请在此处找到架构图

欲了解更多信息,请访问我们的GitHub wiki 部分

☕ 为什么选择 Java?

  • ✅ 虽然运行 Java 看起来很困难,但我们在分发时提供了 JDK 以及二进制/docker 映像。这使得运行 SuperTokens 就像运行任何其他 HTTP 微服务一样。
  • ✅ Java 拥有非常成熟的生态系统。这意味着第三方库已经过考验。
  • ✅ Java 的强类型系统确保了更少的错误和更容易的可维护性。当许多人需要从事同一个项目时,这一点尤其重要。
  • ✅ 我们的团队对 Java 最为熟悉,并且招聘优秀的 Java 开发人员也相对容易。
  • ✅ Java 最大的批评之一是内存使用。对此我们有三种解决方案:
    • 最常见的与身份验证相关的操作是会话验证 - 这发生在后端 SDK(node、python、Go)内,无需联系 Java 核心。因此,核心的单个实例可以相当轻松地处理数十甚至数千个用户。
    • 我们仔细选择了我们的依赖项。例如:我们使用嵌入式 tomcat 服务器而不是更高级别的 Web 框架。
    • 我们还计划将来使用GraalVM ,这可以减少 95% 的内存使用!
  • ✅ 如果您需要对身份验证 API 进行任何修改,则需要在后端 SDK 级别完成这些修改(例如 Node、Golang、Python...)。因此,您很少需要直接修改/使用此存储库中的 Java 代码。

⌨️ 用户管理仪表板

使用SuperTokens 用户管理仪表板监督您的用户

列出用户

列出已注册您的应用程序的所有用户。

列出 SuperTokens 用户

管理用户

通过修改或删除用户的会话、元数据、角色和帐户信息来管理用户。

管理用户

🔥 SuperTokens 对比其他

请在我们的网站上找到详细的比较图

🛠️ 从源头构建

请参阅我们的wiki以获取说明。

👥 社区

如果您认为这是一个您将来可以使用的项目,请🌟这个存储库!

贡献者(跨所有 SuperTokens 存储库)

茂文山


里沙卜·波达

阿德瓦特·鲁亚

普密尔·萨尔瓦亚

乔尔·库蒂尼奥

拉克什UP

穆法西尔·卡齐

内米·沙阿

罗希特·巴蒂亚

马杜·马哈德万

艾达尔·努格玛诺夫

阿尔纳夫·德万

NkxxkN

查迪瓦拉勋爵

路易斯·苏亚雷斯

苏迪普托·戈什

法布里西奥20

金属猴

维迪亚舒·耆那教

多梅尼科·卢西亚尼

恩佐·巴特罗夫

埃洛伊斯·伊索捷

阿科斯·雷施

乔图·乔杜里

托马斯·霍拉切克

萨姆·鲍奇

阿列克谢·泰林杜斯

格斯·富内

陈凯C4

马雷克·杜洛斯基

皮尤什·布托里亚

埃里克·多贝尔廷

凯尔·多德森

拉尔夫·劳伦斯

克里斯托弗·卡皮克

汉久苏夫

米哈伊·伦耶尔

塞里诺·O·利古托姆三世

纳迪拉斯

瓦西里·卡塔纳

杰·米斯特里

雅各布·马歇尔

米克特隆巴

奥列格·弗多文科

悉达多

徐亚兹

尤威·布恩

罗尼特·熊猫

阿努格拉·辛格哈尔

杰里米·伊斯特姆

阿萨夫·雅各比

圣泛脉轮

奥利维尔·皮尚

西丹特·瓦尔玛

人一酒

以赛亚托马森

乌察夫·巴恩瓦尔

索拉布·加特内卡

阿利舍尔·艾图阿罗夫

西蒙·基尔伯格·沃尔斯特罗姆

阿雷布·汗

尼古拉斯·达德菲尔德

Qdea

卢卡斯·高德纳

茂文山

马特·默里

克莱奥·雷伯特

丹尼尔·博罗沃伊

克日什托夫·维特科夫斯基

👩‍💻 贡献

请参阅CONTRIBUTING.md文件以获取说明。

📝 许可证

© 2020-2023 SuperTokens Inc 及其贡献者。版权所有。

本软件的部分内容按如下方式获得许可:

  • 驻留在该存储库的“ee/”目录下的所有内容(如果该目录存在)均根据“ee/LICENSE.md”中定义的许可证获得许可。
  • SuperTokens 软件中纳入的所有第三方组件均根据适用组件所有者提供的原始许可证获得许可。
  • 上述目录或上述限制之外的内容可根据级别“LICENSE.md”文件中定义的“Apache 2.0”许可证使用

About

Auth0 / Firebase Auth / AWS Cognito 的开源替代品

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.6%
  • Other 0.4%