PlaidWeb / PlaidWeb/Authl

Add Bluesky support

Open
#133 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
40
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Bluesky is getting pretty popular and now supports OAuth.

My understanding is that there's no need for client registration, it just does something IndieAuth-esque where the client_id is a link to a metadata document. This document would probably be best configured as a URL that is then filled out by the site operator, rather than trying to shoehorn it into Authl itself, although in the long term it would be worth investigating a flow for allowing handlers to provide sideband data in some framework-agnostic way.

There's also a butt-ton of Python bsky client libraries in various states of support, although they all seem to use the legacy username/password auth flow rather than OAuth, which is not appropriate for Authl.

Contributor guide

No contributing guide indexed for this repository

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

Start with Authl's existing authentication flow, then read the Bluesky OAuth client documentation and the OAuth client ID metadata document linked in the issue. Determine how a site operator could configure the metadata URL without relying on legacy username/password libraries. Done would mean a decided integration design and Bluesky OAuth support that fits Authl's framework.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authentication, backend
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.