openid/sharedsignals

Behaviour of Polling Endpoint When Paused or Disabled

Opened this issue · 1 comments

RFC8936 doesn't have a concept of "stream management" built in, so there is currently no status or diagnostic issued to receivers when a stream is paused or disabled.

From the poller's perspective a paused event just looks like there are no events. It would be useful to have some condition be returned to provide information to the poller so that it too can pause, change-frequency, or check status endpoint periodically.

Alternative 1: Add status claims to polling response when status is not active

Define a new polling attribute that includes the status. If a stream state is not active, then "sets" attribute would be empty but a new attribute "status" and "reason" could indicate the current stream state.

Alternative 2: Use HTTP Status 409 and Special Response payload

409 - Conflict
The 409 (Conflict) status code indicates that the request could not be completed due to a conflict with the current state of the target resource. This code is used in situations where the user might be able to resolve the conflict and resubmit the request. The server SHOULD generate a payload that includes enough information for a user to recognize the source of the conflict.

In this case, the payload could be the same response as the status endpoint response.

If we make Stream Updated messages required on status transitions, does that satisfy this requirement?