Skip to content

OAuth #60

Open
Open
@erlend-sh

Description

@erlend-sh

Status: See OAuth outline below.

OAuth is the default method of authentication in atproto.

The task at hand is neatly described by the parallel effort in millipds:

Docs: https://atproto.com/specs/oauth

Initial proposal: https://github.com/bluesky-social/proposals/tree/main/0004-oauth

Client implementations (useful for reference):

https://github.com/mary-ext/atcute/tree/trunk/packages/oauth/browser-client
https://github.com/bluesky-social/atproto/tree/main/packages/oauth
Incomplete list of specific things we need to implement:

  • DPoP (involves tracking jti reuse - needs DB)
  • PAR (involves associating auth requests with UUIDs, with some TTL - could plausibly stay in-memory)
  • PKCE
  • An actual login webui, allowing the user to grant the requested scopes. (likely involves associating session state with a cookie - needs DB)

Prior art:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions