Autorisation model
Koppeltaal 2.0 has an authorisation model. This means that an application cannot simply see all data in a domain. What can be viewed is determined with the authorisation model.
1. Authenticate
When an application has joined a domain, the application will have been assigned a client_id. This client_id is included in the access_token that is required to communicate with the Koppeltaal server. This way, the Koppeltaal server knows which application is performing a request and therefore the associated permissions.
2. Resource ownership
The Koppeltaal server automatically adds a resource-origin extension to every DomainResource that is created. This extension references to a specific Device resource that has a 1-on-1 relation with the client_id. This way, the origin of a resource can always be found. This is an essential part of the authorisation model.
3. Role and permissions
Every application in a domain is assigned a single role. A role maps to multiple permissions. A permission has the following 3 properties:
Resource
A permission always applies to a single FHIR Domain Resource.
Action
A CRUD-level (create, read, update, delete) action.
Scope
The resource-owner scope. The following scopes are supported:
Own
The permission only applies to resources (selected resource type of the permission) whose resource-origin matches the authenticated application.
All
The permission applies to all resources (selected resource type of the permission) in the domain.
Granted
The permission applies to resources (selected resource type of the permission) whose resource-origin matches the selected application(s).
Topics
Last updated
Was this helpful?