Open zoop-btc opened 7 months ago
Before I open a separate discussion, I wanted to check if there are plans for defining a scope matching strategy for use in ORY Hydra. As part of the Smart App Launch US HTI-1 Guidelines to support Smart App Launch 2.0.0 - the scope formats were updated to the following format: https://hl7.org/fhir/smart-app-launch/STU2/scopes-and-launch-context.html#scopes-for-requesting-clinical-data
patient.read > patient.r or patient.rs
Related to this hydra issue.
This scope strategy splits a scope into resources delimited with
:
. Each resource can have dynamic values if it has the suffix-*
. The last resource can specify a verb delimited with.
.The hierarchy of the matcher and scope resources needs to be identical.
Examples:
users.*
matchesusers.read
users.write
does not matchusers.read
users:settings
matchesusers:settings
users:settings
does not matchusers:settings.read
users:client-*.read
does matchusers:client-bar.read
users:client-*
does not matchusers:client-bar.read
users:client-*.*
does matchusers:client-foo.write
Open questions: Should I make the resource/verb delimiter configurable? What about allowing dynamic resources?