







Did you know you can start a testing ATProto OAuth client with this simple command? $ pnpx @atproto/oauth-client-browser-example 8080 You can then use the inspector console to interact with your PDS: `await bskyClient.get(app.bsky.actor.profile)` `await bskyClient.list(app.bsky.feed.post)` ...
Jun 25, 2026 at 7:18 PM
your app can run its own pds - keith.is
if you’re building on atproto, you’ve probably reached for “sign in with bluesky” as your auth story. it works! the OAuth flow is fine. but every time a user shows up without a bluesky account, you have to send them to bluesky first, watch them get confused by a totally different brand, and hope they come back. that’s a weird seam in your own product.

@atproto/oauth-client
OAuth client for ATPROTO PDS. This package serves as common base for environment-specific implementations (NodeJS, Browser, React-Native).. Latest version: 0.4.0, last published: 8 hours ago. Start using @atproto/oauth-client in your project by running `npm i @atproto/oauth-client`. There are 3 other projects in the npm registry using @atproto/oauth-client.
better-auth-bsky - npmx
A better-auth plugin that adds ATProto/Bluesky OAuth 2.1 authentication (DPoP, PAR, PKCE) via @atcute/oauth-node-client.

atproto/packages/oauth/oauth-client-browser at main · bluesky-social/atproto
Social networking technology created by Bluesky. Contribute to bluesky-social/atproto development by creating an account on GitHub.
atproto/packages/oauth/oauth-client-node/README.md at main · bluesky-social/atproto
Social networking technology created by Bluesky. Contribute to bluesky-social/atproto development by creating an account on GitHub.
ATProto OAuth Quickstart Guide | Artur | Looking for work
Setting Up Bluesky OAuth in Your Web App: A Developer's Guide If you're building an app that needs to authenticate with Bluesky, you'll need to implement their OAuth flow. While the official docs are comprehensive, they can be a bit overwhelming. Let's break down the process into manageable steps. ...
OAuth for ATProto Apps Part 2: Mobile Implementation - Lost in Inference
Part 2 of a 2-part series on implementing OAuth authentication for ATProto (Bluesky) applications.
tijs/atproto-oauth
Framework-agnostic OAuth integration for AT Protocol (Bluesky) applications
OAuth for AT Protocol | Bluesky
We are very happy to release the initial specification of OAuth for AT Protocol! This is expected to be the primary authentication and authorization system between atproto client apps and PDS instances going forward, replacing the current flow using App Passwords and createSession over time.

OAuth Client Implementation | Bluesky
This is a guide to implementing atproto OAuth clients "The Hard Way." Optimistically, most developers will have an SDK available for their programming language which supports OAuth, and they can simply refer to SDK documentation. This guide is intended for early adopters, SDK maintainers, or developers with more sophisticated OAuth needs. It is agnostic to whether developers are building clients to work the the app.bsky microblogging Lexicons, or implementing novel application Lexicons.

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...
ATProto Integration - poke_around
OAuth, PDS sync, custom lexicons, and user bookmarking via the AT Protocol.


Proposal: OAuth-based account creation · bluesky-social atproto · Discussion #4587
We recently added to the reference PDS (and underlying OAuth Provider) implementation support for Initiating User Registration via OpenID Connect 1.0, however, what I wasn't aware of when I add...
here'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