biscuit Logo

biscuit

多语言支持的开源身份认证授权令牌

Biscuit认证授权令牌开源项目Github

Biscuit是一个开源的身份认证和授权令牌系统,具有高安全性和灵活性。该项目支持Rust、Java、Go等多种编程语言实现,并提供交互式playground。Biscuit使用专门的凭证语言和加密原语,适用于复杂的授权场景。目前已在Apache Pulsar等实际项目中应用,正计划进行安全审计以增强可靠性。

Biscuit 认证/授权令牌

加入 Matrix 聊天

https://www.biscuitsec.org

版本

规范的稳定版本位于 SPECIFICATIONS.md。当前开发中的版本在 dev 分支

动机、目标、非目标

请参阅 https://www.biscuitsec.org/docs/why-biscuit/

尝试一下

您可以在浏览器中创建、削弱、检查和授权 Biscuit 令牌:https://www.biscuitsec.org/docs/tooling/

路线图

您可以在路线图上关注下一步计划。

当前状态:

  • 凭证语言、加密原语和序列化格式已完成
  • 我们有以下语言的 Biscuit v2 实现:
  • 我们有以下语言的 Biscuit v1 实现:
  • 一个包含文档和交互式演示的网站已在 https://biscuitsec.org 上线
  • 目前正在部署到实际用例中,如 Clever CloudApache Pulsar
  • 正在寻求对令牌设计、加密原语和实现的审核

功能支持

不同的实现都严格遵循规范,但部分内容可能需要一些时间才能完全实现,因此以下是每个版本当前支持的功能列表:

  • ✅ 完全支持
  • 🚧 部分支持
  • ❌ 尚未支持
RustHaskellJavaGoPythonC#
v2
v3🚧
作用域
检查所有
位运算
第三方块🚧🚧
快照🚧

如何帮助我们?

  • 提供我们可以测试令牌的用例(某些特定类型的检查、授权委托等)
  • 加密设计审核:我们需要对算法、其使用和各种语言的实现进行审核
  • 为 Java 和 Go 实现添加 Biscuit v2 支持

项目组织

  • SPECIFICATIONS.md 是 Biscuit 的描述、格式和行为
  • biscuit-web-key/ 是用于发布 Biscuit 公钥的规范
  • DESIGN.md 包含了关于 Biscuit 应该是什么的初始想法
  • experimentations/ 包含了加密方案和约束语言的初始代码示例。code/biscuit-poc/ 包含了 Biscuit 的实验版本,旨在探索 API 问题

许可证

根据 Apache License, Version 2.0 许可(LICENSE-APACHEhttp://www.apache.org/licenses/LICENSE-2.0)

标志由 Julien Richard 设计

最初由 Clever Cloud 创建

贡献

除非您明确声明,否则您有意提交以包含在作品中的任何贡献,按照 Apache-2.0 许可证的定义,均应按上述方式获得许可,不附加任何额外条款或条件。