非常感谢所有个人贡献者
*使用Ory生产中的主要项目之一。
前往文档,了解安装Ory Keto的方法。
在我们的建筑设计方面,我们构建了几种指导原则:
Ory的架构旨在在容器编排系统(例如Kubernetes,CloudFoundry,OpenShift和类似项目)上运行最佳。二进制文件很小(5-15MB),可用于所有流行的处理器类型(ARM,AMD64,I386)和操作系统(FreeBSD,Linux,MacOS,Windows),无系统依赖性(Java,Node,Ruby,Libxml,...)。
Ory Kratos是一种API优先身份和用户管理系统,是根据Cloud Architecture最佳实践构建的。它实现了几乎每个软件应用程序都需要处理的核心用例:自助登录和注册,多因素身份验证(MFA/2FA),帐户恢复和验证,个人资料和帐户管理。
Ory Hydra是OpenID认证™OAUTH2和OpenID Connect提供商,通过编写微型“桥梁”应用程序,可以轻松连接到任何现有身份系统。它可以绝对控制用户界面和用户体验流。
Ory Oathkeeper是一项超越/零信任身份和访问代理(IAP),具有可配置的身份验证,授权和请求的Web服务请求突变规则:身份验证JWT,访问令牌,API键,API键,MTLS;检查是否允许包含的主题执行请求;将结果内容编码为自定义标头( X-User-ID ),JSON Web令牌等等!
Ory Keto是一个政策决策点。它使用一组类似于AWS IAM策略的访问控制策略,以确定主题(用户,应用程序,服务,汽车,...)是否有权对资源执行某些操作。
如果您认为发现安全漏洞,请不要在论坛,聊天或Github上公开发布它。您可以在我们的security.txt中找到负责披露的所有信息。
我们的服务收集了摘要的匿名数据,可以选择关闭。单击此处以了解更多信息。
该指南可在此处找到。
此处记录了HTTP API。
新版本可能会引入破坏变化。为了帮助您识别并结合这些更改,我们将这些更改记录在升级和changElog.md中。
运行keto -h或keto help 。
我们鼓励所有贡献,建议您阅读我们的贡献指南。
您需要1.19+和(对于测试套件):
可以在Windows上开发Ory Keto,但请注意,所有指南都假设bash或ZSH等UNIX壳。
进行安装
您可以使用make format格式化所有代码。我们的CI检查您的代码是否正确格式化。
您可以进行两种类型的测试:
简短测试很快进行。您可以立即测试所有代码:
go test -short -tags sqlite ./...或仅测试一个特定的模块:
go test -tags sqlite -short ./internal/check/...常规测试需要设置数据库。我们的测试套件能够直接与Docker合作(使用Ory/Dockertest),但我们鼓励使用脚本。使用dockertest可以膨胀系统上的码头图像的数量,并在每次运行中启动它们非常慢。相反,我们建议这样做:
source ./scripts/test-resetdb.sh
go test -tags sqlite ./...E2E测试是正常go test的一部分。要仅运行E2E测试,请使用:
source ./scripts/test-resetdb.sh
go test -tags sqlite ./internal/e2e/...或将-short标签添加到仅针对SQLite内存中的测试。
您可以使用以下方式构建开发Docker映像
做码头