44个版本
0.27.3 | 2024年1月13日 |
---|---|
0.27.2 | 2023年12月20日 |
0.27.0 | 2023年4月3日 |
0.26.4 | 2022年12月5日 |
0.1.0 |
|
#54 in 开发工具
每月13,934次下载
用于 2 crates
1MB
20K SLoC
已弃用
我们已经弃用了传统的Oso开源库。我们计划发布下一个开源版本,并期待在发布前从社区获得反馈(请在Slack的#help频道联系我们)。同时,如果您现在使用Oso开源库感到满意,则无需进行任何更改——即,我们不会终止(EOL)该库,我们将继续提供支持和关键错误修复。更多背景信息:[这里](https://www.osohq.com/docs/oss/getting-started/deprecation.html)。
Oso
什么是Oso?
Oso是一个用于在您的应用程序中构建授权的内置框架。
使用Oso,您可以
- 建模:使用Oso内置的基本操作设置常见的权限模式,如基于角色的访问控制(RBAC)和关系。使用Oso的声明式策略语言Polar扩展它们,以满足您的需求。
- 过滤:超越简单的“是/否”授权问题。实现针对集合的授权,例如,“只显示Juno能看到的记录。”
- 测试:现在有了针对授权逻辑的单个接口,您可以编写单元测试。使用Oso调试器或REPL跟踪意外行为。
Oso 提供了适用于 Node.js、Python、Go、Rust、Ruby 和 Java 的库。
我们最新的作品 Oso Cloud 使得跨服务授权变得和 oso.authorize(user, action, resource) 一样简单。 了解更多。
文档
- 要开始使用 Oso,请尝试 入门指南。
- 完整文档可在 docs.osohq.com 上找到。
- 查看 用例 了解更多关于团队在生产中使用 Oso 的信息。
- 要了解授权的最佳实践(不限于 Oso),请阅读 授权学院 指南。
社区 & 支持
如果您对 Oso 或更广泛的授权有任何疑问,您可以加入我们的工程团队和数百名在其他社区 Slack 中使用 Oso 的开发者。
分享你的故事
我们很乐意了解您在使用 Oso 时的用例和经验。在我们的 成功故事问题 中分享您的故事。
开发
核心
Oso 的 Rust 核心 是基于 Rust 的最新稳定版 开发的。
语言库
Oso 的语言库可以在不接触 Rust 核心的前提下进行开发,但您仍需要在系统 PATH 中安装 Rust 稳定工具链以构建核心。
要为 Node.js 库构建 WebAssembly 核心,您需要在系统中安装并可用 wasm-pack
。
语言要求
要在语言库上工作,您需要满足以下版本要求
- Java: 11+
- Maven: 3.6+
- Node.js: 12.20.0+
- Yarn 1.22+
- Python: 3.7+
- Ruby: 2.4+
- Bundler 2.1.4+
- Rust: 1.46+
- Go: 1.14+
贡献 & 工作
查看: CONTRIBUTING.md。
如果您想全职从事 Oso 代码库的开发工作,请访问 我们的工作页面。
许可
查看: LICENSE。
依赖
~3–14MB
~177K SLoC