Skip to content

开放的身份云API实现,参考了Authing

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.md
Notifications You must be signed in to change notification settings

XYCode-Kerman/AuthPI


关于

AuthPI是一款参照了Authing API设计的开源的用户管理系统。如用户池、应用、联邦认证、ZTA的相关概念与Authing十分相似。

关于这些概念,请参见什么是用户池 | Authing 文档

Note

您不能使用Authing SDK来调用AuthPI,它们是完全不同的产品。

Important

本项目名称的正确书写方法是AuthPI而不是AuthPi,读作/ɔθ paɪ/。AuthPI的正确简写是$A\pi$,纯ASCII的写法为AuthTT(简写为ATT)。

特点

  1. 使用FastAPI自动生成API文档而不是手动定义OpenAPI规范,保证一致性。
  2. 使用Mongodb而不是其他SQL数据库,使得本软件在将来可扩展性和可维护性更高。
  3. 参照已成熟的类似闭源产品Authing的设计来开发,使得架构更加稳定清晰。

为什么应该使用AuthPI?

  1. AuthPI原生支持部署到Vercel(WIP),降低个人开发者和小型企业的开发成本。
  2. AuthPI是开源软件

开始使用

Warning

AuthPI还在开发,在0.0.1-alpha.1版本发布前,由于API的变更非常激进,因此不提供完整的文档。

AuthPI使用的FastAPI框架会自动生成符合OpenAPI规范的相关文档,您可以在/docs/redoc下分别通过Swagger UI和Redocly查看API文档。并且,在AuthPI (apifox.com)上也托管了当前的最新API文档。

文档

关于用户池

用户池(UserPool)是你用户系统的隔离的最小单位,不同场景的用户可以划分在不同的用户池。每个用户池下拥有自己的用户和应用程序,不同用户池之间的权限、应用、组织是完全隔离的。

关于应用程序

应用程序(Application)是用户池的一部分。每个应用程序都有两个属性app_idapp_secret。你可以通过这两个属性来获取access_tokenaccess_token的有效期为24小时,过期后将无法使用。

Note

app_id不是_id/id

先决条件

使用本项目前,请确保您有一定的的英语词汇量,并善用翻译软件。

  1. AuthPI使用poetry作为包管理器,如果没有,请通过pip install poetry安装。
  2. 确保 Python 版本 >= 3.10 且 <3.13

安装

使用poetry install来安装依赖。安装成功后,您应该可以使用uvicorn命令。

使用方法

Note

如果提示uvicorn不存在等错误,请尝试使用poetry run uvicorn <参数>命令。

使用如下命令启动服务器:

uvicorn main:app

使用如下命令启动开发服务器(注:开发服务器下将会在代码修改时自动重载应用,并启用部分Debug功能,请勿将其用于生产环境

uvicorn main:app --reload

如果需要指定端口或主机,则可以使用:

uvicorn main:app --host <主机> --port <端口>

AuthPI SDK正在开发中。

Note

默认情况下,uvicorn将启动一个进程来运行AuthPI,如果您有更高的流量需求,请使用--workers <进程数量>参数来调整,或者使用Kubernetes等服务进行分布式部署。

开发路线图

查看 open issues 了解我们的开发计划 (and known issues)。

问题反馈

在这里获取我们的支持:

帮助AuthPI

如果您想表达感谢或/和支持 AuthPI 的积极开发:

  • 为项目添加 GitHub Star
  • 在 Twitter 上宣传 AuthPI。
  • Dev.toMedium 或您的个人博客上撰写有关该项目的有趣文章。

我们可以一起让 AuthPI 变得

贡献

首先,感谢您抽出时间为我们做出贡献!有了您的贡献,开源社区才能成为学习、启发和创造的好地方。您的任何贡献都将惠及其他人,我们将感激不尽

请阅读我们的贡献指南,感谢您的参与!

作者和贡献者

本资源库的原始设置由 XYCode Kerman

所有作者和贡献者的完整名单,请参阅贡献者页面

安全

AuthPI 遵循良好的安全规范,但无法保证 100% 的安全性。AuthPI 按**"现状 "提供,不提供任何保证**。使用风险自负。

如需了解更多信息和报告安全问题,请参阅我们的安全文档

代码审计和测试

AuthPI的测试覆盖率始终保持在$\ge 99%$。而且,AuthPI会在每一个次版本补丁发布时审计它的代码,确保没有安全问题。

Caution

您应当始终使用最新版本的AuthPI,并始终关注其的安全警报。

许可证

This project is licensed under the MIT license.

See LICENSE for more information.

常见问题

WIP

About

开放的身份云API实现,参考了Authing

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.md

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages