







Just spent a bunch of time working on the Client ID Metadata Documents internet draft to make it possible to support multiple token endpoint authentication methods — github.com/oauth-wg/draft-ietf-oauth-cli…
Document token endpoint auth methods supported by ThisIsMissEm · Pull Request #99 · oauth-wg/draft-ietf-oauth-client-id-metadata-document
github.comSep 20, 2026 at 9:25 PM
OAuth Client ID Metadata Document
This specification defines a mechanism through which an OAuth client can identify itself to authorization servers, without prior dynamic client registration or other existing registration. This is through the usage of a URL as a client_id in an OAuth flow, where the URL refers to a document containing the necessary client metadata, enabling the authorization server to fetch the metadata about the client as needed.

OAuth Client ID Metadata Document
This specification defines a mechanism through which an OAuth client can identify itself to authorization servers, without prior dynamic client registration or other existing registration. This is through the usage of a URL as a client_id in an OAuth flow, where the URL refers to a document containing the necessary client metadata, enabling the authorization server to fetch the metadata about the client as needed.

OAuth Improvements - AT Protocol
We've been making improvements to the end-user and developer experiences with atproto OAuth.

oauth-client-metadata.json | AT Protocol Community Wiki
A community-maintained wiki for the AT Protocol ecosystem
OAuth Roadmap · bluesky-social atproto · Discussion #2656
OAuth is nigh! Protocol support has been a long time coming and we are pumped. It should greatly improve the user and developer experiences building secure apps and integrations on atproto. And cou...
Let's fix OAuth in MCP
Update: The changes described in this blog post have been incorporated into the 2025-06-18 version of the MCP spec!

OAuth scopes (#3806) · bluesky-social/atproto@1899b1f
* style: prefix `id` and `uri` with `request` where applicable * Dynamically validate OAuth scopes * Allow configuring trusted OAuth clients * Improve client validation * Rework authorization t...
tijs/atproto-oauth
Framework-agnostic OAuth integration for AT Protocol (Bluesky) applications
at the moment they are somewhat far apart (for one it currently has its own PoP mechanism with its own nonces, etc.), but it is still possible! there is a discussion here: github.com/oauth-wg/draft-ietf-oauth-att…
Similar proposal in AT Protocol: DPoP-bound private_key_jwt client authentication · Issue #123 · oauth-wg/draft-ietf-oauth-attestation-based-client-auth
github.comthis is kinda another reason im starting to think more and more that there would be worth in splitting atprotos identity layer out as its own spec and standard. building up handles and oauth around a DID makes for a really flexible cross platform (and potentially cross ecosystem) identity system
Nelind
i kinda hate how atproto adopting DIDs has made people intrinsically associate DIDs with atproto ... it makes some people see me as some annoying bitch trying to shove atproto into places it obviously doesnt belong in when i suggest using DIDs as user identifiers for other systems
alright protocol devs, some wonky bits: we revisited the recent service auth JWT harmonization proposal, and have a revision up that sticks with a single string 'aud' field. also touches on issuer 'kid', and makes 'lxm' mandatory for XRPC endpoints.
proposals/0014-service-auth-revised at main · bluesky-social/proposals
github.comXRPC requests between atproto servers are authenticated using JWTs. There are some inconsistencies in how OAuth permissions, PDS proxy headers, and JWTs all represent the "audience" of these tokens. This proposal gives background and describes a rough solution. Looking for rapid feedback!
proposals/0013-service-auth-refs at main · bluesky-social/proposals
github.comhere's my take on a minimal oauth browser client for atproto! no special API client class — just use plain `fetch` to make requests and a service worker automatically handles authorization headers/token refreshes/dpop retries/etc. (very experimental, not tested in production, use at your own risk)
jakelazaroff.com/atsw
tangled.org