https://github.com/nkypy/gopa
open policy agent gin middleware for custom usage
https://github.com/nkypy/gopa
gin gin-gonic middleware opa open-policy-agent
Last synced: 5 months ago
JSON representation
open policy agent gin middleware for custom usage
- Host: GitHub
- URL: https://github.com/nkypy/gopa
- Owner: nkypy
- Created: 2022-08-19T03:07:11.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-13T07:46:21.000Z (over 3 years ago)
- Last Synced: 2024-11-14T23:03:58.767Z (over 1 year ago)
- Topics: gin, gin-gonic, middleware, opa, open-policy-agent
- Language: Go
- Homepage:
- Size: 176 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gopa
## 使用
```go
// 若要修改默认返回
// 修改包内 ErrResponse
//
// src: rego 文件内容
// data: yaml 文件内容
// path: 数据库路径,若为空,则角色权限在配置文件
// prefix: 路由前缀,写规则可以省略
r := gin.Default()
r.Use(gopa.Opa(src, data, "opa.db", "/api/v1"))
```
## 测试
```bash
# 新增测试可在 rego 文件中编辑
opa test -v examples/policy.rego examples/policy.yaml
```
## 网页访问
```bash
# 允许
http://127.0.0.1:8080/v1/orders/1?role=admin
# 不允许
http://127.0.0.1:8080/v1/users/1?role=admin
# 允许
http://127.0.0.1:8080/v1/users/1?role=super_admin
```