https://github.com/ahopkins/structured-scopes
Abstract specification for the use of structured scopes in permission granting utilities.
https://github.com/ahopkins/structured-scopes
authorization permissions scopes structured-scopes
Last synced: 11 months ago
JSON representation
Abstract specification for the use of structured scopes in permission granting utilities.
- Host: GitHub
- URL: https://github.com/ahopkins/structured-scopes
- Owner: ahopkins
- License: cc0-1.0
- Created: 2018-04-26T23:02:43.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-04-30T20:38:19.000Z (about 7 years ago)
- Last Synced: 2025-04-11T11:33:10.771Z (about 1 year ago)
- Topics: authorization, permissions, scopes, structured-scopes
- Language: CSS
- Homepage: https://ahopkins.github.io/structured-scopes/
- Size: 558 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Structured Scopes
[View the documentation](https://ahopkins.github.io/structured-scopes/) to learn more.
## Abstract
This is an abstract specification for the use of structured scopes in permission granting utilities.
## Introduction
The goal of this endeavor is to standardize and define the meaning, and usage of "scopes" for implementation in an authorization utility. It is [licensed](https://github.com/ahopkins/structured-scopes/blob/master/LICENSE) under the [CC0 1.0 Universal (CC0 1.0)
Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/) All other copyrights and other rights, if any, are hereby reserved.
## Purpose
The purpose of "scoping" is to provide a pass/fail response to a request for permission on a defined resource to authorized clients having the requisite permission level. A common application would be for permissioning on protected resources, for example, on web requests.
## Brief
Examples in brief:
```
Base: user
Inbound: foobar
Result: fail
Base: user
Inbound: user
Result: pass
Base: user:write
Inbound: user
Result: pass
Base: user:write
Inbound: user:read
Result: fail
```
See [more examples](https://ahopkins.github.io/structured-scopes/examples/)
## Implementations
- Python - [source](https://github.com/ahopkins/sscopes-python) | [docs](https://ahopkins.github.io/structured-scopes/implementations/)
- Javascript - [source](https://github.com/ahopkins/sscopes-javascript) | [docs](https://ahopkins.github.io/structured-scopes/implementations/)