openid / sharedsignals

OpenID Shared Signals Working Group Repository
45 stars 11 forks source link

Add Stream ID #9

Closed FragLegs closed 1 year ago

FragLegs commented 2 years ago

This PR does a number of things:

FragLegs commented 2 years ago

However, there is a slight wrinkle with the stream ID that I didn't foresee. How should we indicate to transmitters and receivers that they need a way to identify which stream is being POLLed or PUSHed?

For PUSH it is easy - we can leave it up to the Receiver to set either a URL param in the endpoint or use a specific endpoint that dictates the stream ID. It is a little complicated though since the Receiver does not know the stream ID when creating the stream, which would force them to provide the "delivery" info during a second request. How much of this should we call out in the spec?

For POLL it is up to the Transmitter to do the right thing and add a URL param or a specific endpoint for each stream. Do we need to call that out in the spec?

A third option would be to extend the POLL spec to include a stream_id parameter, but that seems like a big lift.

adeinega commented 2 years ago

As an (almost) completely random comment, it would be great to keep only *.md documents in the repo, for example, openid-sse-framework-1_0.md, and then

  1. use https://github.com/cabo/kramdown-rfc to convert .md to .xml
  2. convert *.xml using xml2rfc to txt and HTML files when you they need to be published in other (external) places

It'll allow keeping the number of changes very low and easily review them. Moreover, Markdown files are convenient to edit even though the Web UI of GitHub.

timcappalli commented 1 year ago

As an (almost) completely random comment, it would be great to keep only *.md documents in the repo, for example, openid-sse-framework-1_0.md, and then

  1. use https://github.com/cabo/kramdown-rfc to convert .md to .xml
  2. convert *.xml using xml2rfc to txt and HTML files when you they need to be published in other (external) places

It'll allow keeping the number of changes very low and easily review them. Moreover, Markdown files are convenient to edit even though the Web UI of GitHub.

that's the plan. Just haven't had a change to convert the others to MD and then set up GH actions

FragLegs commented 1 year ago

However, there is a slight wrinkle with the stream ID that I didn't foresee. How should we indicate to transmitters and receivers that they need a way to identify which stream is being POLLed or PUSHed?

For PUSH it is easy - we can leave it up to the Receiver to set either a URL param in the endpoint or use a specific endpoint that dictates the stream ID. It is a little complicated though since the Receiver does not know the stream ID when creating the stream, which would force them to provide the "delivery" info during a second request. How much of this should we call out in the spec?

For POLL it is up to the Transmitter to do the right thing and add a URL param or a specific endpoint for each stream. Do we need to call that out in the spec?

A third option would be to extend the POLL spec to include a stream_id parameter, but that seems like a big lift.

I added notes in the PUSH/POLL section to indicate the uniqueness needs of the URLs.

tulshi commented 1 year ago

In the Transmitter Configuration Metadata, should we modify the "delivery methods supported" to include the POLL URL if the method is POLL?

On Tue, Sep 13, 2022 at 6:34 AM FragLegs @.***> wrote:

However, there is a slight wrinkle with the stream ID that I didn't foresee. How should we indicate to transmitters and receivers that they need a way to identify which stream is being POLLed or PUSHed?

For PUSH it is easy - we can leave it up to the Receiver to set either a URL param in the endpoint or use a specific endpoint that dictates the stream ID. It is a little complicated though since the Receiver does not know the stream ID when creating the stream, which would force them to provide the "delivery" info during a second request. How much of this should we call out in the spec?

For POLL it is up to the Transmitter to do the right thing and add a URL param or a specific endpoint for each stream. Do we need to call that out in the spec?

A third option would be to extend the POLL spec to include a stream_id parameter, but that seems like a big lift.

I added notes in the PUSH/POLL section to indicate the uniqueness needs of the URLs.

— Reply to this email directly, view it on GitHub https://github.com/openid/sse/pull/9#issuecomment-1245422445, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB55UGYF2DEXPXDTHOW7SKDV6B7F7ANCNFSM5VC65TEA . You are receiving this because your review was requested.Message ID: @.***>

FragLegs commented 1 year ago

That’s a good idea, but can we make it a separate issue/PR? I think there’s enough to discuss there to warrant a separate issue.

On Thu, Sep 15, 2022 at 7:54 PM Atul Tulshibagwale @.***> wrote:

In the Transmitter Configuration Metadata, should we modify the "delivery methods supported" to include the POLL URL if the method is POLL?

On Tue, Sep 13, 2022 at 6:34 AM FragLegs @.***> wrote:

However, there is a slight wrinkle with the stream ID that I didn't foresee. How should we indicate to transmitters and receivers that they need a way to identify which stream is being POLLed or PUSHed?

For PUSH it is easy - we can leave it up to the Receiver to set either a URL param in the endpoint or use a specific endpoint that dictates the stream ID. It is a little complicated though since the Receiver does not know the stream ID when creating the stream, which would force them to provide the "delivery" info during a second request. How much of this should we call out in the spec?

For POLL it is up to the Transmitter to do the right thing and add a URL param or a specific endpoint for each stream. Do we need to call that out in the spec?

A third option would be to extend the POLL spec to include a stream_id parameter, but that seems like a big lift.

I added notes in the PUSH/POLL section to indicate the uniqueness needs of the URLs.

— Reply to this email directly, view it on GitHub https://github.com/openid/sse/pull/9#issuecomment-1245422445, or unsubscribe < https://github.com/notifications/unsubscribe-auth/AB55UGYF2DEXPXDTHOW7SKDV6B7F7ANCNFSM5VC65TEA

. You are receiving this because your review was requested.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/openid/sse/pull/9#issuecomment-1248764410, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHK3GG52J755CCR5DAO2D3V6OZJPANCNFSM5VC65TEA . You are receiving this because you authored the thread.Message ID: @.***>