Add resource scope list definition

Allow providing multiple scopes in a single scope string

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
pull/1418/head
Derek McGowan 2016-02-12 14:35:38 -08:00
parent 6d6c37c06a
commit 3fc4e4cdc8
1 changed files with 5 additions and 4 deletions

View File

@ -73,16 +73,17 @@ always derived from the passed in credentials or refresh token. When using
a refresh token the passed in audience must match the audience defined for a refresh token the passed in audience must match the audience defined for
the refresh token. The audience (resource provider) is provided using the the refresh token. The audience (resource provider) is provided using the
`service` field. Multiple resource scopes may be provided using multiple `scope` `service` field. Multiple resource scopes may be provided using multiple `scope`
fields. The fields may be passed in as either `GET` query parameters or `POST` fields on the `GET` request. The `POST` request only takes in a single
form parameters. `scope` field but may use the resource scope list format to specify
multiple resource scopes.
### Resource Scope Grammar ### Resource Scope Grammar
``` ```
resourcescope := resourcetype ":" resourcename ":" resourceactions resourcescopelist := resourcescope [ ',' action ]* [ ',' resourcescope]*
resourcescope := resourcetype ":" resourcename ":" action
resourcetype := /[a-z]*/ resourcetype := /[a-z]*/
resourcename := component [ '/' component ]* resourcename := component [ '/' component ]*
resourceactions := action [ ',' action ]*
action := /[a-z]*/ action := /[a-z]*/
component := alpha-numeric [separator alpha-numeric]* component := alpha-numeric [separator alpha-numeric]*
alpha-numeric := /[a-z0-9]+/ alpha-numeric := /[a-z0-9]+/