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

[Feature Request]: OAuth Support for ATProtoKit #43

Open
MasterJ93 opened this issue Oct 26, 2024 · 6 comments
Open

[Feature Request]: OAuth Support for ATProtoKit #43

MasterJ93 opened this issue Oct 26, 2024 · 6 comments
Labels
new feature New feature or request

Comments

@MasterJ93
Copy link
Owner

MasterJ93 commented Oct 26, 2024

Summary

OAuth support will need to be implemented for authenticating through the AT Protocol services.

Pain points

App Passwords will be eventually deprecated. ATProtoKit needs to get ahead of this by implementing OAuth, which will be the new way for users to log into Bluesky and other services that are built on the AT Protocol.

Considered Alternatives

No response

Is this a breaking change?

No

Library Examples

The Rust API library has implemented OAuth from what I can gather. We can possibly convert the Rust code into Swift code.

Additional Context

This is a fairly difficult part of the AT Protocol to understand. Even if I look at the Rust API library linked above and convert it into Swift code, it's still going to be challenging to understand.

This will most likely require multiple pull requests and iterations before it works as well as the official TypeScript API library.

That said, for future reference, these are some links that may help:

  • The last one is not authoritative, but it may help.
@MasterJ93 MasterJ93 added the new feature New feature or request label Oct 26, 2024
@MasterJ93 MasterJ93 moved this to Todo in ATProtoKit Oct 26, 2024
@MasterJ93 MasterJ93 pinned this issue Nov 7, 2024
@tonyarnold
Copy link

You should consider using a third party library like https://github.com/ChimeHQ/OAuthenticator to get the initial implementation in place, then decide if you need to build this out yourself.

@MasterJ93
Copy link
Owner Author

I'll look into that library and see if it works well for my needs. But I fear that I will have to write it by scratch after all (or at least grab a few projects and put them together).

@aaronvegh
Copy link
Contributor

With social cards now available, this is my next-most-wanted feature. :-)

@knotbin
Copy link

knotbin commented Dec 1, 2024

+1 this is my biggest feature request

@MasterJ93
Copy link
Owner Author

I understand this and I'm working on trying to figure out a solution. I'll soon release a branch of my progress with this and I hope that others will be able to help contribute code and other ideas into this, since this is a top priority for me as well.

I just want to do this right: OAuth is a fairly complicated thing to understand.

@MasterJ93 MasterJ93 moved this from Version 1.0 Requirements to Todo in ATProtoKit Dec 1, 2024
@knotbin
Copy link

knotbin commented Dec 1, 2024

Of course! Completely fine to take your time, thank you so much for all the work you're doing on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
Status: Todo
Development

No branches or pull requests

4 participants