-
-
Notifications
You must be signed in to change notification settings - Fork 19
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
Comments
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. |
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). |
With social cards now available, this is my next-most-wanted feature. :-) |
+1 this is my biggest feature request |
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. |
Of course! Completely fine to take your time, thank you so much for all the work you're doing on this. |
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 text was updated successfully, but these errors were encountered: