el-mike/restrict
RBAC/ABAC authorization library for Go.
8 Releases
Latest: 1y ago
v2.0.0Latest
📋 Changes
- Allows Subject to have multiple roles
- Errors API changes:
- `AccessDeniedError` now has `Reasons` property, containing one or more `PermissionErrors` describing what exactly went wrong
- `PermissionError` now has `ConditionErrors` property, containing zero or more `ConditionNotSatisfiedErrors` describing `Condition` failures for given Permissions
- properties of `AccessDeniedError` and `PermissionError` are now public
- Allows to perform complete validation when `AccessRequest.CompleteValidation` is set to true
- Defaults to false (fail-early strategy)
- When using `CompleteValidation`, all Policy errors will be collected and returned at once, instead of failing on
📦 Release notes from commits
- feat: handling multiple roles by @el-mike in https://github.com/el-mike/restrict/pull/49
- feat: adding validation strategy option, handling errors in complete validation mode by @el-mike in https://github.com/el-mike/restrict/pull/50
- chore: adding integration test for complete validation strategy" by @el-mike in https://github.com/el-mike/restrict/pull/51
- chore: error messages updates, readme update by @el-mike in https://github.com/el-mike/restrict/pull/53
- chore: readme update by @el-mike in https://github.com/el-mike/restrict/pull/52
- feat: updating errors api by @el-mike in https://github.com/el-mike/restrict/pull/54
- chore: documentation updates by @el-mike in https://github.com/el-mike/restrict/pull/55
- Full Changelog: https://github.com/el-mike/restrict/compare/v1.0.2...v2.0.0
v1.0.2
📋 Changes
- minimal Go version fix
v1.0.1
📋 What's Changed
- chore: dependencies update by @el-mike in https://github.com/el-mike/restrict/pull/46
- chore: go version upgrade by @el-mike in https://github.com/el-mike/restrict/pull/47
- chore: dropping python dependency by @el-mike in https://github.com/el-mike/restrict/pull/48
- Full Changelog: https://github.com/el-mike/restrict/compare/v1.0.0...v1.0.1
Release v1.0.0v1.0.0
📦 Going stable!
- Full Changelog: https://github.com/el-mike/restrict/compare/v0.2.2...v1.0.0
v0.2.2Pre-release
**Full Changelog**: https://github.com/el-mike/restrict/compare/v0.2.1...v0.2.2
v0.2.1Pre-release
📋 What's Changed
- chore: spelling fixes, naming by @el-Mike in https://github.com/el-Mike/restrict/pull/42
- chore: siplifying permission struct, testing by @el-Mike in https://github.com/el-Mike/restrict/pull/43
- chore: examples by @el-Mike in https://github.com/el-Mike/restrict/pull/44
- chore: add docs for deletepermission method by @el-Mike in https://github.com/el-Mike/restrict/pull/45
- Full Changelog: https://github.com/el-Mike/restrict/compare/v0.2.0...v0.2.1
Pre-release v0.2.0v0.2.0Pre-release
📋 What's Changed
- feat: condition type and name by @el-Mike in https://github.com/el-Mike/restrict/pull/20
- feat: api for allowing preliminary authorization by @el-Mike in https://github.com/el-Mike/restrict/pull/21
- feat: authorize error return strategy by @el-Mike in https://github.com/el-Mike/restrict/pull/22
- chore: inmemoryadapter testing by @el-Mike in https://github.com/el-Mike/restrict/pull/23
- chore: fileadapter testing by @el-Mike in https://github.com/el-Mike/restrict/pull/24
- chore: mocks changes, basic access manager testing by @el-Mike in https://github.com/el-Mike/restrict/pull/25
- chore: accessmanager testing by @el-Mike in https://github.com/el-Mike/restrict/pull/26
- chore: conditions testing, fixes by @el-Mike in https://github.com/el-Mike/restrict/pull/27
- + 15 more
Pre-release v0.1.0v0.1.0Pre-release
📋 What's Changed
- Feature/permissions setup by @el-Mike in https://github.com/el-Mike/restrict/pull/1
- chore: type improvements and cleanups by @el-Mike in https://github.com/el-Mike/restrict/pull/2
- feat: json and yaml files persistance handling by @el-Mike in https://github.com/el-Mike/restrict/pull/3
- feat: policy manager entity by @el-Mike in https://github.com/el-Mike/restrict/pull/4
- feat: runtime policy management by @el-Mike in https://github.com/el-Mike/restrict/pull/5
- feat: access manager return strategy by @el-Mike in https://github.com/el-Mike/restrict/pull/6
- feat: reusable permission presets by @el-Mike in https://github.com/el-Mike/restrict/pull/7
- feat: is_owner condition by @el-Mike in https://github.com/el-Mike/restrict/pull/8
- + 10 more
✨ New Contributors
- @el-Mike made their first contribution in https://github.com/el-Mike/restrict/pull/1
- Full Changelog: https://github.com/el-Mike/restrict/commits/v0.1.0
