Biscuit 认证/授权令牌
版本
规范的稳定版本位于 SPECIFICATIONS.md。当前开发中的版本在 dev 分支。
动机、目标、非目标
请参阅 https://www.biscuitsec.org/docs/why-biscuit/。
尝试一下
您可以在浏览器中创建、削弱、检查和授权 Biscuit 令牌:https://www.biscuitsec.org/docs/tooling/
路线图
您可以在路线图上关注下一步计划。
当前状态:
- 凭证语言、加密原语和序列化格式已完成
- 我们有以下语言的 Biscuit v2 实现:
- Rust
- Web Assembly(基于 Rust 版本)
- Python(基于 Rust 版本)
- Haskell
- 我们有以下语言的 Biscuit v1 实现:
- 一个包含文档和交互式演示的网站已在 https://biscuitsec.org 上线
- 目前正在部署到实际用例中,如 Clever Cloud 的 Apache Pulsar
- 正在寻求对令牌设计、加密原语和实现的审核
功能支持
不同的实现都严格遵循规范,但部分内容可能需要一些时间才能完全实现,因此以下是每个版本当前支持的功能列表:
- ✅ 完全支持
- 🚧 部分支持
- ❌ 尚未支持
Rust | Haskell | Java | Go | Python | C# | |
---|---|---|---|---|---|---|
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-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
标志由 Julien Richard 设计
最初由 Clever Cloud 创建
贡献
除非您明确声明,否则您有意提交以包含在作品中的任何贡献,按照 Apache-2.0 许可证的定义,均应按上述方式获得许可,不附加任何额外条款或条件。