







Any other atproto app devs run into this UX snafu? User already has a bsky account; uses it to login to your app. User was only logged in to bsky.app, not bsky.social and doesn’t have a password saved there. User is very confused why their browser doesn’t remember their bsky password.
Mar 4, 2026 at 7:12 AM
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/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 User Intents Demo
This is a demo tool which allows atproto accounts to configure a reuse declaration for their public data. You can read more about this atproo mechanism in the "User Intents for Data Reuse" proposal from March 2025. Any account in the atproto network (including Bluesky accounts) can use this tool via OAuth. The source code for this demo is linked above.
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.
Network Account Management | Bluesky
Accounts in the atproto network are app-neutral: a single account can be used for short posts, long-form blogging, events, and more. But until now, the best way for users to create and manage accounts has been through client apps themselves.

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. ...
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/dev-env at main · bluesky-social/atproto
Social networking technology created by Bluesky. Contribute to bluesky-social/atproto development by creating an account on GitHub.
My recollection of this is that even if you just pop a new ATProto account into existence and start spitting out `app.bsky.feed.post` records, they don't show up unless you actually go through a Bluesky onboarding & agreeing to ToS, so they should have an email for you through that process.
Announcing: keytrace.dev Take your @bsky.app / @atproto.com account and connect it to your other accounts around the internet. Keytrace cryptographically verifies your connected accounts so other social apps can trust the data. Learn more: keytrace.dev/blog/introducing-keytrace
Keytrace - You be you, everywhere.
keytrace.devif you’re using Bluesky OAuth in your app, change your metadata filepath to /oauth-client-metadata.json to have just your brand domain show up on the authorize screen rather than a suspicious looking url string i think 90% of atproto apps don’t do this, seems to not be documented yet
ollie thanks mozz 🫶
(sorry for driveby but i think tangled can update the file to be at path `/oauth-client-metadata.json` to get rid of that long display name *disappears*)
reminder that you can always revoke oauth access at bsky.social/account (also a good place to check for apps you forgot you logged in to !)
ATProto devs did you know you can use selfhosted.social for users to create brand new accounts on the atmosphere in your applications? Both deckbelcher.com and blento.app uses our PDS. A user's journey into the atmosphere does not always have to be started from Bluesky. It can start from your app.
The frustrating thing about this is that when you "Login with Bluesky", you're not even actually logging in with Bluesky The App. You may be using a Bluesky PBC-hosted PDS, but it has nothing to do with @bsky.app, other than it's the PDS you're assigned when you create an account on their client.