[Openid-specs-risc] Call notes

Atul Tulshibagwale atul at sgnl.ai
Tue Aug 1 23:59:13 UTC 2023


Hi all,
Notes from today's working group call are here. They are also stored here.

Atul

-- 

<https://sgnl.ai>

Atul Tulshibagwale

CTO

<https://linkedin.com/in/tulshi> <https://twitter.com/zirotrust>
<atul at sgnl.ai>
WG Meeting: 2023-08-01
<https://hackmd.io/8nkgc3QtSY23IWUZWJAK7A#Agenda>Agenda

   - (tim) GitHub configuration and hygeine
   - What should happen when only one stream is allowed? PR 50 discussion
   <https://github.com/openid/sharedsignals/pull/50/files#diff-193e4a2db2f645f1b4f19c4a9f8facbef29f86e122a8da4c529542750a291a1c>
   - (smiel) Why do we have a format field in the Stream Configuration? PR
   87 discussion
   <https://github.com/openid/sharedsignals/pull/87#discussion_r1276951345>
   - (atul) Review breaking changes in current draft

<https://hackmd.io/8nkgc3QtSY23IWUZWJAK7A#Attendees>Attendees

   - Atul Tulshibagwale (SGNL)
   - Shayne Miel (Cisco)
   - Tim Cappalli (Microsoft)
   - Apoorva Deshpande (Okta)

<https://hackmd.io/8nkgc3QtSY23IWUZWJAK7A#Notes>Notes
<https://hackmd.io/8nkgc3QtSY23IWUZWJAK7A#Github-Configuration-and-Hygiene>Github
Configuration and Hygiene

   - (tim) Anyone who has a signed IPR can be a part of “members”, and they
   should be able to branch
   - (atul) Main branch is being used for the GitHub pages, so we don’t
   need additional protection there.
   - (tim) Who is “amali90”? We should only add users who have a properly
   populated GitHub profile
   - (shayne) What was the pull request from Gilbert Aguerdo. Who is that
   person?
   - (tim) I’ve turned on “resolve all comments”

<https://hackmd.io/8nkgc3QtSY23IWUZWJAK7A#What-should-happen-when-only-one-stream-is-allowed-PR-50-discussion>What
should happen when only one stream is allowed? PR 50 discussion
<https://github.com/openid/sharedsignals/pull/50/files#diff-193e4a2db2f645f1b4f19c4a9f8facbef29f86e122a8da4c529542750a291a1c>

   - (smiel) Tim’s original proposal was that the Transmitter should
   respond with a 200 OK
   - (smiel) But what happens if the Receiver tries to create a second
   stream with a Transmitter that only supports a single stream?
   - (atul) IF the Transmitter returns the same Stream ID, wouldn’t the
   receiver know it’s the same stream?
   - (apoorva) +1
   - (smiel) The Receiver may not have the other Stream ID lying around
   - (atul) This could lead to Receivers being unaware of events being sent
   to them (if there are multiple apps within the Receiver)
   - (smiel) What if the Receiver crashes and reboots?
   - (atul) The Transmitter will keep trying to send the events until
   they’re acknowledged, so no events will be lost.
   - (smiel) What if the Receiver asks for a different delivery method when
   it re-creates the stream?
   - (atul) Because the Transmitter is not creating a new stream, it should
   return the stream config as it created the first time.
   - (smiel) OK
   - (tim) The 200 OK is problematic because that is not what the calling
   party requested
   - (atul) The Transmitter could return a “Forbidden” status, but still
   provide the same stream configuration
   - (tim) Transmitter could return a 205 (Reset Content)
   - (smiel) I’d suggest we just throw an error - some 400 error, but not
   do anything to the existing stream
   - (atul) I’m OK with that
   - (aproova) We will break idempotency because of this
   - (atul) But is Create Stream expected to be idempotent?
   - (smiel) No.
   - (smiel) I would suggest status 409 (Conflict)
   - (smiel) Apoorva said that this indicates that the user could do
   something to fix it, which is still the case
   - (apoorva) 409 indicates that if you change the request inputs you
   should get a different response
   - (smiel) I don’t see that expected behavior documented anywhere
   - (atul) How about 400 (Bad request)
   - (tim) This could be on a per-receiver basis - a Transmitter could
   allow multiple streams for one receiver, but not for another
   - (smiel) How about 501 (not implemented)?
   - (atul) +1
   - (tim) What is our expected behavior?
   - (atul) The client should get an error, because it has a wrong
   understanding of what the server can do (i.e. create multiple streams)
   - (tim) Does a single-stream transmitter still have stream Ids?
   - (smiel) yes, and you can even delete and create the stream again
   - (tim) why would you create the exact same stream
   - (atul) The Transmitter has an obligation when the stream is present
   - (smiel) As a Receiver, you should check for the existing code first,
   and then try to create a stream
   - (smiel) What if you are tyring to create a new stream that is
   identical to one that exists before?
   - (apoorva) Why can’t the Receiver call a Get first and then do a Create?
   - (smiel) Because the Receiver does not have any way of knowing whether
   the Transmitter supports multiple streams
   - (atul) Giving a clear error is the right thing to do here
   - (tim) 422 looks like the best option
   - (apoorva) What are we trying to achieve with this?
   - (smiel) If the Receiver depends on multiple streams, then then they
   can’t do anything because the Transmitter doesn’t support it.
   - (apoorva) How would the Receiver self-remediate
   - (atul) Receiver could delete the existing stream and create a new one
   - (atul) Or it can do a “Get” to get the existing stream
   - (smiel) If the Receiver was trying to create a stream with different
   properties, it would need to delete and re-create
   - (tim) Good Stack Overflow discusson on 409 vs 422
   <https://stackoverflow.com/questions/3825990/http-response-code-for-post-when-resource-already-exists>
   - (atul) That seems to argue for 409 (Conflict)
   - (tim) I’d vote for 409 after reading this
   - (atul) Me too
   - (smiel) +1
   - (apoorva) that works
   - (smiel) So any request to create a second stream (regardless of
   whether it matches the first stream or not) in a single-stream transmitter
   results in a 409
   - (apoorva) Existing spec says 403
   - (apoorva) I’m good with 409
   - (everyone else) good

<https://hackmd.io/8nkgc3QtSY23IWUZWJAK7A#Misc>Misc

   - (tim) We should create an OpenAPI 3 spec
   - (apoorva) sharedsignals.guide has the spec, it just needs to be
   updated.
   - (tim) Can we host the spec file in an OpenID repo so that we can issue
   pull requests on it?
   - (atul) Would Cisco consider contributing that to the OpenID Foundation

<https://hackmd.io/8nkgc3QtSY23IWUZWJAK7A#Action-Items>Action Items

   - (atul) Merge Apoorva’s PR
   <https://github.com/openid/sharedsignals/pull/89>
   - (tim) Update PR to specify response to Create Stream in single-stream
   Transmitters
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-risc/attachments/20230801/af30fd30/attachment-0001.html>


More information about the Openid-specs-risc mailing list