Streams in Shared Signals Framework
An (event) stream serves as an abstract representation of the communication pathway for events between a Transmitter and a Receiver. The configuration of the stream, managed collaboratively by both the Transmitter and Receiver, contains details about the types of events the Transmitter will send and the method the Receiver will use to receive these events. Furthermore, the Event Stream maintains a record of the Subjects that the Receiver is interested in, ensuring that only events associated with these Subjects are transmitted through the stream.
Endpoints may vary
Note that the endpoints used here - such as /ssf/stream
- are common, but different transmitters may use different endpoints. Always check /.well-known/ssf-configuration
. See Transmitter Configuration Discovery
Create Stream for Pull-Based delivery
In theory, a variety of stream types can be supported. However, the OpenID SSF specification specifically mentions only two: "urn:ietf:rfc:8935" (push) and "urn:ietf:rfc:8936" (poll). The example provided here is configured for the latter, the poll method. While this method does have its limitations, it is simpler to test on this website.
Create Stream for Push-Based delivery
Instead of polling, this event Transmitter at scim.dev
supports pushing events to a specified endpoint. For testing purposes, you could for example get an endpoint from https://webhook.site.
List Streams
Multiple streams can be established to cater to different needs. For instance, one stream could be set up for poll-based retrieval of all events, while another could be dedicated to push-based transmission of high-risk events.
To view all the configured streams, utilize this endpoint.
Get specific stream
Update stream
Once a stream has been created, its configuration can be updated as needed. This could involve modifying the list of event types or specifying a different endpoint, for instance.
Delete stream
If a stream is not needed anymore, delete it using the following request.