openid / openid/sharedsignals

JWKS based Auth for Receivers instead of OAuth

Open
#299 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

p1 spec:SSF vFuture
Dominant language
Makefile
Stars
78
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Starting a discussion to focus specifically on simplifying the auth story of Receivers calling Transmitter endpoints.

I believe an equivalent story for Receivers, as we have for Transmitters (sending signed events + signature verification using public key), would make interop seamless.

From https://github.com/openid/sharedsignals/issues/298#issuecomment-3378688175

Even just putting a jwks_uri in the Receiver's .well-known configuration will be a great benefit - since it trivializes auth completely.

Today, the recommendation is to use OAuth with scopes like ssf.manage and ssf.read. But that means the Administrator must explicitly grant permissions to access the Transmitter endpoints, and that the Receiver must generate/request appropriate tokens. Which increases friction and interop burden.

Now imagine if Receivers published a jwks_uri:

  1. Admin configures the Transmitter jwks_uri (via .well-known) in the Receiver Admin Console.

  2. Admin configures the Receiver jwks_uri (via .well-known) in the Transmitter Admin Console.

  3. Trust is thus established.

    • Just like how the Receiver verifies the signature of SETs sent by the Transmitter,
    • The Transmitter can verify now that a Stream Management request is coming from an Admin-registered Receiver.

(Note: Signing details need to be hashed out)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or implementation entry points are named. Start by reviewing the linked discussion in issue #298 and the Receiver/Transmitter authentication flow described here; the work is complete only after the JWKS-based approach and signing details are agreed and specified.

Written by the indexing model from the issue text.

Assessment

Domain
api, authentication, authorization, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.