#策略 #授权 #oso #访问控制 #应用程序 #语言 #RBAC

polar-core

为 oso 构建的 Polar core 库,oso 是一个开源的策略引擎,用于在您的应用程序中进行授权

45 个版本

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.8.2 2020 年 11 月 25 日

#333开发工具

Download history 3283/week @ 2024-03-14 3661/week @ 2024-03-21 3810/week @ 2024-03-28 4936/week @ 2024-04-04 3600/week @ 2024-04-11 3724/week @ 2024-04-18 4085/week @ 2024-04-25 3545/week @ 2024-05-02 4675/week @ 2024-05-09 3629/week @ 2024-05-16 3049/week @ 2024-05-23 3152/week @ 2024-05-30 3044/week @ 2024-06-06 3479/week @ 2024-06-13 4319/week @ 2024-06-20 2568/week @ 2024-06-27

14,006 每月下载量
3 个 Crates 中使用 (通过 oso)

Apache-2.0

760KB
17K SLoC

已弃用

我们已经弃用了传统的 Oso 开源库。我们为下一个开源版本制定了计划,并期待在那时从社区获得反馈(请通过 Slack #help 频道联系我们)。在此期间,如果您现在使用 Oso 开源库感到满意,则无需进行任何更改 - 即,我们不会终止 (EOL) 该库,并将继续提供支持和关键错误修复。更多信息:[此处](https://www.osohq.com/docs/oss/getting-started/deprecation.html)。

Oso

Development GitHub release (latest SemVer) Go version Maven version NPM version PyPI version RubyGems version Crates.io version Slack

Oso 是什么?

Oso 是一个集成的框架,用于在您的应用程序中构建授权。

使用 Oso,您可以

  • 建模:使用 Oso 内置的原始数据设置常见的权限模式,例如基于角色的访问控制 (RBAC) 和关系。使用 Oso 的声明性策略语言 Polar 进行扩展。
  • 过滤:超越是/否授权问题。在集合上实现授权,例如:“只显示 Juno 可以看到的记录。”
  • 测试:现在您有了授权的单个接口,可以编写授权逻辑的单元测试。使用 Oso 调试器或 REPL 跟踪意外行为。

Oso 为 Node.jsPythonGoRustRubyJava 提供了库。

我们的最新作品 Oso Cloud 使得跨服务授权变得与 oso.authorize(user, action, resource) 一样简单。[了解更多](https://www.osohq.com/oso-cloud)。

文档

社区 & 支持

如果您对Oso或更广泛的授权有任何疑问,您可以加入我们的工程团队和数百名在我们的社区Slack中使用Oso的其他开发者。

Button

分享您的故事

我们很乐意了解您使用Oso的使用案例和经验。在我们的成功故事问题中分享您的经历。

开发

核心

Oso的Rust核心是针对Rust的最新稳定版本开发的。

语言库

Oso的语言库可以在不接触Rust核心的情况下进行开发,但您仍需要安装Rust稳定工具链以构建核心。

为了构建Node.js库的WebAssembly核心,您需要在您的系统PATH上安装并可用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

依赖

~1.4–4MB
~71K SLoC