#oso #authorization #applications #nodejs #open #source #policy

oso-derive

为开源授权策略引擎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日

#87#政策

Download history 3275/week @ 2024-03-14 3660/week @ 2024-03-21 3759/week @ 2024-03-28 4817/week @ 2024-04-04 3589/week @ 2024-04-11 3720/week @ 2024-04-18 4089/week @ 2024-04-25 3551/week @ 2024-05-02 4666/week @ 2024-05-09 3622/week @ 2024-05-16 3038/week @ 2024-05-23 3109/week @ 2024-05-30 2558/week @ 2024-06-06 3107/week @ 2024-06-13 3996/week @ 2024-06-20 2420/week @ 2024-06-27

12,674 每月下载量
用于 oso

Apache-2.0

13KB
136

已弃用

我们已经弃用了旧的Oso开源库。我们为下一个开源版本制定了计划,并期待在那时从社区获得反馈(请在Slack #help频道联系我们)。同时,如果您现在使用Oso开源库感到满意,则无需进行任何更改——即我们不会终止该库的生命周期(EOL),我们将继续提供支持和关键错误修复。更多信息:这里

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)一样简单。了解更多。

文档

  • 要开始使用Oso,请尝试入门指南
  • 完整的文档可在docs.osohq.com找到。
  • 查看用例,了解更多关于团队如何在生产中使用Oso。
  • 要了解授权的最佳实践(不仅限于Oso),请阅读授权学院指南。

社区 & 支持

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

Button

分享你的故事

我们很高兴听到您关于Oso的使用案例和经验。在我们的成功故事问题中分享您的经历。

开发

核心

Oso的Rust 核心是在Rust的最新稳定版本上开发的。Rust的安装

语言库

Oso的语言库可以在不接触Rust核心的情况下开发,但您仍需要在系统中安装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

依赖关系

~1.5MB
~36K SLoC