Summary#
- Adds
GET /.well-known/oauth-authorization-serverreturning RFC 8414 OAuth 2.0 Authorization Server Metadata — the discovery document Bluesky clients fetch before any OAuth interaction - Adds
db/oauth.rsstorage adapter (register_oauth_client,get_oauth_client) backed by the existingoauth_clientstable from the Wave 1 schema - Adds Bruno request file (seq: 12)
- Fixes two pre-existing clippy lints and applies
cargo fmtacross the relay crate
Dependency decision#
atproto-oauth-axum 0.14.3 was evaluated but skipped: requires axum = "0.8" (relay is on 0.7) and is an OAuth client crate,
not server. Tracked as MM-154.
Test plan#
-
cargo test -p relay— 270 tests pass (9 new inoauth_server_metadata, 3 indb::oauth) -
cargo clippy -p relay -- -D warnings— clean -
curl http://localhost:8080/.well-known/oauth-authorization-serverreturns valid JSON -
issuermatches configuredpublic_url; no double-slash if trailing slash in config