Allow logging in by entering a PDS URL directly, rather than only through Bluesky/atproto Web + OAuth flow.
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.
No activity yet.