Terms
Terms and there definitions as it relates to scopie.
Block
Values between slashes that indicate levels of our permission. Can contain one of the following:
- A literal string.
- An array of literal strings separated by pipe (
|) characters that are treated as an OR list. - A literal string prefixed by an at (
@) that is translated to a value from our variable map. - A single asterisk (
*) that will auto match any value, known as a wildcard. - Two asterisks (
**) that matches the rest of the action.
Action
One or more literal blocks, joined by a slash (/) indicating
what the user is attempting to do.
Grant
Whether or not the user is allowed to do the action.
Either the literal string allow or deny.
Permission
Permissions are blocks separated by slashes (/).
Colons are used to separate the grant from the blocks.
Permissions are attached to users.
Action examples
allow:bucket/images/upload
deny:account/**
allow:blog/@user/read|write
allow:accounts/**
Keywords
They may not be explicity checked but it is important not to use any scopie keywords when defining permissions and actions as they may have unintended side effects.
- allow
- deny