You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Authorization Practice.md
+53Lines changed: 53 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -202,10 +202,63 @@ A token claim could also offer asymmetrical access like in the following example
202
202
203
203
Devices MUST only allow subscriptions for objects which are associated with a role path that has been deemed to have read access through a token claim as shown in previous examples.
204
204
205
+
### IS-14 - Device Configuration
206
+
207
+
When processing requests sent to an [IS-14][] control endpoint, the JSON Web Token used MUST be validated to ensure it contains a read/write claim
208
+
matching resource role paths. These represent device model role paths and MUST be created by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) starting with the [root block](https://specs.amwa.tv/ms-05-02/latest/docs/Blocks.html) and using `.` as the delimiter. Consequently the `.` character MUST NOT be used inside individual object roles.
209
+
210
+
For example, offering read access to an IS-14 object identified by a role path of 'root.example-controls.control-01' only would require the following token claim.
211
+
212
+
```
213
+
"x-nmos-control": {
214
+
"read": ["root.example-controls.control-01"]
215
+
}
216
+
```
217
+
218
+
Alternatively, offering read access to all IS-14 device model objects may be given with the following token claim which uses the wildcard '*'.
219
+
220
+
```
221
+
"x-nmos-control": {
222
+
"read": ["root.*"]
223
+
}
224
+
```
225
+
226
+
Access to modify object properties MUST only be given if the token claim includes a write claim with a role path that includes the object.
227
+
228
+
Access to invoke object methods MUST only be given if the token claim includes a write claim with a role path that includes the object.
229
+
230
+
The following is a token claim example which offers access to modify properties and invoke methods on an object identified by a role path of 'root.example-controls.control-01'.
231
+
232
+
```
233
+
"x-nmos-control": {
234
+
"read": ["root.example-controls.control-01"],
235
+
"write": ["root.example-controls.control-01"]
236
+
}
237
+
```
238
+
239
+
The following is a token claim example which uses the wildcard '*' and offers access to modify properties and invoke methods on any device model object.
240
+
241
+
```
242
+
"x-nmos-control": {
243
+
"read": ["root.*"],
244
+
"write": ["root.*"]
245
+
}
246
+
```
247
+
248
+
A token claim could also offer asymmetrical access like in the following example which only allows write access to a specific path, whilst allowing the entire device model to be read.
0 commit comments