Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redirects and nudges for alternate endpoints #2346

Open
Bossett opened this issue Mar 19, 2024 · 0 comments
Open

Redirects and nudges for alternate endpoints #2346

Bossett opened this issue Mar 19, 2024 · 0 comments

Comments

@Bossett
Copy link

Bossett commented Mar 19, 2024

Is your feature request related to a problem? Please describe.

It would be very helpful in building apps with limited 'special knowledge' of the ecosystem if services with requirements (like 'auth required') could hint an alternate endpoint. This partially solves the discovery problem of services that connect to a single endpoint, etc. not moving to a more suitable endpoint for their use-case.

Describe the solution you'd like

In particular for scenarios like https://bsky.app/profile/johnspurlock.com/post/3ko3bv55z2623 - it would be good if the auth required also said 'go to this public endpoint', with some metadata the client can read as to why you may want to do that (such as 'authNotAvailable' or something). Would extend this to a PDS ('userNotHere'? Try bsky.social), etc., and later can be used to do things like shed traffic ('noNewConnections' or smth).

Describe alternatives you've considered

This could be done with headers or http status codes, but I think capturing it in the response as a JSON record allows for nuance in the reason, or things like returning multiple results (like saying 'if unauthed, go here; also I'm shutting down so to retry with auth go here'), or errors to be surfaced by clients.

Additional context

The various services could ultimately store the endpoints they need for different circumstances in a way that could be hidden behind api clients - and this approach could allow a client to map out the network (basically root hints for atproto) in a way that is helpful to network operators and end users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant