It looks like Leaflet currently only supports logging in via the Bluesky/atproto Web OAuth flow, and there is no visible option to log in by entering a PDS URL directly (for example, https://pds.example.com or https://bsky.social as a generic PDS endpoint). Based on the UI and current docs, it appears that all sign‑in paths route through Bluesky’s hosted login page rather than exposing a way to connect to an arbitrary PDS host.
This makes it difficult for users who:
- Self‑host a PDS and would prefer to authenticate directly against their own server instead of being redirected through Bluesky’s branding.
- Use alternative ATProto frontends or PDS operators that are not
bsky.app, but still want to publish to Leaflet using their existing PDS‑backed identity. - Want to keep their Leaflet identity tied directly to their PDS without going through Bluesky’s hosted OAuth flow.
Ideally, Leaflet would allow:
- A “Log in with custom PDS URL” option in addition to the existing “Log in with Bluesky” button.
- The user to input a PDS URL (e.g.,
https://pds.example.com) that Leaflet then uses to discover the ATProto endpoints (DID, auth, etc.) and run an OAuth flow tailored to that PDS host. - Clear indication in the user settings which PDS/DID is currently connected, so it’s easy to tell which server is backing the account.
Workarounds#
As far as I can tell, there is no current workaround in the Leaflet UI itself to log in directly via a PDS URL. The only visible path is the standard Bluesky/atproto Web OAuth flow. If Leaflet already supports custom PDS‑hosted logins under the hood but simply doesn’t expose them in the UI, this issue could be reframed as adding that UI layer rather than implementing a new backend auth mode.
Expected Behavior#
The expected behavior is that Leaflet allows users to:
- Choose between:
- “Log in with Bluesky”
- “Log in with custom PDS URL”
- Enter a PDS URL that Leaflet uses to discover the correct ATProto endpoints and authenticate against that PDS.
- Have the same core functionality (reading, writing, and publishing) available regardless of which PDS host they authenticated through.
This would make Leaflet more flexible for people who want to publish to their own PDS or a non‑Bluesky operator while keeping the UX consistent with the rest of the application.
Note / caveat#
I may be missing something in the current configuration or docs; it’s possible that Leaflet already supports direct PDS login under the hood but just doesn’t expose it in the UI or documentation. If that’s the case, this issue should be treated as a request to surface a “Log in with custom PDS URL” option in the sign‑in flow, rather than a request to implement a new backend auth mechanism.
Hi, we recently updated our login flow actually. It used to have a separate option for non-Bluesky PDS login, but that proved confusing — now we auto-resolve from handle, so you should be able to just enter your handle and log in via OAuth no matter what PDS you're on. It'll redirect to a url like
https://[pds_url]/oauth/authorize…Once logged in everything should work as normal in Leaflet. If you find anything's not working with non-Bluesky PDS OAuth though, please let us know!