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
added new sub_id related language. Modified existing language to refl… (#82)
* added new sub_id related language. Modified existing language to reflect the use of the sub_id claim
* reverted to using subject in requests. Sub_id will still be used in responses
* modified more request parameters back to subject from sub_id
* updated text to reflect sub_id as a top-level field in verification and stream updated events
* fixed typo eent->event
* delete txt and html artifacts
* changed SHOULD to MUST for top-level sub_id field
* updated to latest main and addressed Tim\'s comments
* incorporated Shayne\'s feedback
* removed duplicate line
---------
Co-authored-by: Tim Cappalli <tim@cloudauth.dev>
@@ -217,10 +243,20 @@ Subject Principals are identified by Subject Members defined below.
217
243
218
244
# Subject Members in SSF Events {#subject-ids}
219
245
220
-
A member of type Subject in an SSF event MAY have any claim name. Each Subject Member MUST
221
-
refer to exactly one Subject Principal.
246
+
## Subject Members {#subject-members}
247
+
A Subject Member of a SSF event describes a subject of the event. A top-level claim named `sub_id` MUST be used to describe the primary subject of the event.
222
248
223
-
A Subject may be a "simple subject" or a "complex subject".
249
+
### Existing CAEP and RISC Events
250
+
Event types already defined in the CAEP ({{CAEP}}) and RISC ({{RISC}}) specifications MAY use a `subject` field within the `events` claim of the SSF event to describe the primary Subject Principal of the event. SSF Transmitters MUST include the top-level `sub_id` claim even for these existing event types.
251
+
252
+
### New Event Types
253
+
New event types MUST use the top-level `sub_id` claim and MUST NOT use the `subject` field in the `events` claim to describe the primary Subject Principal.
254
+
255
+
### Additional Subject Members
256
+
Specific event types MAY define additional Subject Members if required to describe additional subjects of that event type (e.g. a Transferee). These additional subject fields MAY have any field name.
257
+
258
+
### Subject Member Values
259
+
Each Subject Member MUST refer to exactly one Subject Principal. The value of a Subject Member MAY be a "simple subject" or a "complex subject".
224
260
225
261
## Simple Subject Members {#simple-subjects}
226
262
@@ -230,7 +266,7 @@ Identifier" as defined in the Subject Identifiers for Security Event Tokens
230
266
event.
231
267
232
268
~~~ json
233
-
"transferer": {
269
+
"sub_id": {
234
270
"format": "email",
235
271
"email": "foo@example.com"
236
272
}
@@ -278,7 +314,7 @@ appear at most once in the Complex Subject value.
278
314
Below is a non-normative example of a Complex Subject claim in a SSF event.
279
315
280
316
~~~ json
281
-
"transferee": {
317
+
"sub_id": {
282
318
"format": "complex",
283
319
"user": {
284
320
"format": "email",
@@ -406,6 +442,10 @@ The following are hypothetical examples of SETs that conform to the Shared Signa
{: title="Example: Update Stream Status Request With Optional Reason" #figupdatestatuswithreasonreq}
@@ -1541,7 +1602,7 @@ Cache-Control: no-store
1541
1602
1542
1603
{
1543
1604
"stream_id": "f67e39a0a4d34d56b3aa1bc4cff0069f",
1544
-
"status": "paused"
1605
+
"status": "paused",
1545
1606
}
1546
1607
~~~
1547
1608
{: title="Example: Update Stream Status Response" #figupdatestatusresp}
@@ -1716,22 +1777,18 @@ An Event Transmitter MAY send a Verification Event at any time, even if one was
1716
1777
not requested by the Event Receiver.
1717
1778
1718
1779
#### Verification Event {#verification-event}
1719
-
The Verification Event is a standard SET with the following attributes:
1720
-
1721
-
event type
1722
-
1723
-
> The Event Type URI is: "https://schemas.openid.net/secevent/ssf/event-type/verification".
1780
+
The Verification Event is a SSF Event with the event type: "https://schemas.openid.net/secevent/ssf/event-type/verification". The event contains the following attribute:
1724
1781
1725
1782
state
1726
1783
1727
1784
> OPTIONAL An opaque value provided by the Event Receiver when the event is
1728
-
triggered. This is a nested attribute in the event payload.
1785
+
triggered.
1786
+
1787
+
As with any SSF event, the Verification Event has a top-level `sub_id` claim:
1729
1788
1730
-
subject
1789
+
sub_id
1731
1790
1732
-
> REQUIRED. The value of the `subject` field in a Verification Event MUST always
1733
-
be set to have a simple value of type `opaque`. The `id` of the value MUST be
1734
-
the `stream_id` of the stream being verified.
1791
+
> REQUIRED. The value of the top-level `sub_id` claim in a Verification Event MUST always be set to have a simple value of type `opaque`. The `id` of the value MUST be the `stream_id` of the stream being verified.
1735
1792
1736
1793
> Note that the subject that identifies a stream itself is always implicitly
1737
1794
added to the stream and MAY NOT be removed from the stream.
@@ -1818,12 +1875,12 @@ Event Receiver as a result of the above request:
> OPTIONAL. Provides a short description of why the Transmitter has updated the
1857
1914
status.
1915
+
1916
+
As with any SSF Event, this event has a top-level `sub_id` claim:
1858
1917
1859
-
subject
1918
+
sub_id
1860
1919
1861
-
> REQUIRED. Specifies the stream whose status has been updated.
1862
-
The value of the `subject` field
1863
-
MUST be of format `opaque`, and its `id` value MUST be the unique ID of the
1864
-
stream.
1920
+
> REQUIRED. The top-level `sub_id` claim specifies the Stream Id for which the status has been updated. The value of the `sub_id` field MUST be of format `opaque`, and its `id` value MUST be the unique ID of the stream.
1865
1921
1866
1922
> Note that the subject that identifies a stream itself is always implicitly
1867
1923
added to the stream and MAY NOT be removed from the stream.
HTTP API calls from a Receiver to a Transmitter SHOULD be authorized by
@@ -2003,9 +2059,7 @@ This section provides SSF profiling specifications for the Security Event Token
2003
2059
The signature key can be obtained through "jwks_uri", see {{discovery}}.
2004
2060
2005
2061
### SSF Event Subject {#event-subjects}
2006
-
The subject of a SSF event is identified by the "subject" claim within the event
2007
-
payload, whose value is a Subject Identifier. The "subject" claim is REQUIRED
2008
-
for all SSF events. The JWT "sub" claim MUST NOT be present in any SET containing
2062
+
The primary Subject Member of SSF events is described in the "Subject Members" section ({{subject-ids}}). The JWT "sub" claim MUST NOT be present in any SET containing
2009
2063
a SSF event.
2010
2064
2011
2065
### SSF Event Properties {#event-properties}
@@ -2018,6 +2072,10 @@ specific to the event type.
0 commit comments