Expand description
What an include: scope names, and what the permission set it names
grants.
A permission set is a lexicon: a permission-set definition published
under the set’s own NSID, whose permissions are repo and rpc
permissions in their JSON form. Include::grants reads that list the
way the permission spec’s “Permission Sets” section says an
authorization server must:
- It ignores a permission for any other resource, and a permission with a field or a value it cannot read. It never grants a permission in part.
- Every collection and method must sit under the set’s own NSID group.
app.example.authFullmay grantapp.example.postandapp.example.feed.like, and nothing underapp.other. A wildcard is never one of them. - An
rpcpermission names*as its audience, or setsinheritAudand takes the audience theinclude:scope names. WithinheritAudand no audience to take, it grants nothing.
Finding the set is the caller’s job: the DNS record, the authority’s repository, and the proof the record comes with.
Structs§
- Include
- An
include:scope, read: the permission set it names, and the audience that set’srpcpermissions may inherit.
Enums§
- Include
Error - Why an
include:scope names no permission set.
Functions§
- has_
only 🔒 Somewhen every field ofpermissionistype,resource,description, or one offields.- is_
fragment 🔒 - Whether
fragmentis a non-empty RFC 3986 fragment:pchar,/and?, with%only as an escape. - is_
service_ 🔒reference - Whether
audnames one service: adid:plcor adid:web, then#and a fragment. - repo_
actions 🔒 - A non-empty list of distinct
repoactions, orNone.