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

ATProto: add server side OAuth support, authentication only #1785

Open
snarfed opened this issue Feb 18, 2025 · 3 comments
Open

ATProto: add server side OAuth support, authentication only #1785

snarfed opened this issue Feb 18, 2025 · 3 comments
Labels
feature Features and feature requests that are specific to Bridgy Fed, not fully described by the protocols.

Comments

@snarfed
Copy link
Owner

snarfed commented Feb 18, 2025

In general, we don't plan to let users log into bridged accounts and use them directly. Too much complexity to get both that and bridging right at the same time and not colliding with each other. So, we wouldn't plan to let users fully log into their bridged Bluesky accounts via OAuth.

However, we could maybe support it for authentication only...? We'd be a normal ATProtro OAuth serve, and return the user's DID in sub, etc, but not generate any tokens or allow any API calls. I think we'd do that by supporting the atproto scope but not transition:generic? Not sure.

Background discussion in #1762

@snarfed snarfed added the feature Features and feature requests that are specific to Bridgy Fed, not fully described by the protocols. label Feb 18, 2025
@Tamschi
Copy link
Collaborator

Tamschi commented Feb 18, 2025

Is some sort of token not still required to prove DID ownership? It seems to me that otherwise PDS hosts could impersonate the user towards OAuth even if they self-sign their record changes (which if I'm not mistaken is supported and otherwise trustless in ATProto).

@snarfed
Copy link
Owner Author

snarfed commented Feb 18, 2025

ATProto OAuth clients are expected to resolve the user's DID to a PDS, and then authenticate against that PDS.

The PDS is still trusted somewhat, eg a malicious PDS could auth user A as user B if both users are on that PDS, but I think that's an expected part of the current ATProto trust model.

@Daft-Freak
Copy link
Contributor

I wonder if this would be enough for things like Discord that want to verify you own the account to show it on your profile. (I don't know what Discord is actually doing, I just know that entering my bridged handle results in a server error and entering a regular one opens a login page)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Features and feature requests that are specific to Bridgy Fed, not fully described by the protocols.
Projects
None yet
Development

No branches or pull requests

3 participants