Comments (55)
Hi @mixty1, currently have only 3 working OAuth providers working (facebook, github and linkedin).
I am working right now to simplify the process of adding new providers and I am going to write a detailed tutorial explaining how to add new providers to our source code.
This is an area where I really hope the community will give a hand, as we need to support as many major OAuth providers as possible.
from appwrite.
Hey @eldadfux I would like to work on this. Please let me know if I can! Cheers!
from appwrite.
Hey @pratikhmehta,
Instagram adapter is currently on hold due to some technical difficulties. 😞
from appwrite.
Hi @christyjacob4, yes I'm still working on Discord. Should get my PR in this weekend.
from appwrite.
Hi @christyjacob4, yes I'm still working on Discord. Should get my PR in this weekend.
I'm having some trouble with the docker container, namely that the mariadb container is timing out and refusing connections which is stopping me from testing. Could delay me a bit on the discord integration.
from appwrite.
It gonna be works
from appwrite.
@eldadfux alright, once I get my docker back up and working I'll get right to work trying to add it
from appwrite.
I Hope get a new version
from appwrite.
oops, thanks
from appwrite.
Just finished working on the Apple adapter 🤘
from appwrite.
OK, I have added a short tutorial that explains the steps required to add a new OAuth provider to the project.
Still need to change some things regarding the way we add new provider logos, but should be enough to get started.
The tutorial is here:
https://github.com/appwrite/appwrite/blob/master/docs/tutorials/add-oauth-provider.md
And should followed after reading our new contribution guide:
https://github.com/appwrite/appwrite/blob/master/CONTRIBUTING.md
And the code of conduct:
https://github.com/appwrite/appwrite/blob/master/CODE_OF_CONDUCT.md
Let me know if there is any feedback!
from appwrite.
Hey @christyjacob4, sure you can. That will be amazing.
Before forking, please let us know here which providers you want to add first.
Also, make sure to read the contribution guide to follow our standards and best practices.
If anything is not clear please let me know. You can also join our Gitter community for live support and discussions:
https://gitter.im/appwrite/community
Happy #hacktobefest!
from appwrite.
Hey @eldadfux Thanks for the prompt reply. I would like to start with Google and as I get familiar with the process would like to add more providers like Gitlab etc.. If you have any suggestions please let me know.
I'll approach you in case something is not clear.
Cheers!
from appwrite.
@christyjacob4 Google & Gitlab sounds great! I am available for any question!
from appwrite.
Hey @eldadfux: Is it fine if I grab github oAuth and work?
from appwrite.
Hey @valishah, actually we already have implementations of Facebook, Github and Linkedin ready and working and @christyjacob4 is working on now on Google and Gitlab integrations.
But you can just tell me if there is any other provider you would like to work on and I will make a list to help future contributors know what integrations are still missing or in work.
from appwrite.
Hey! I'd like to add support for Twitter
from appwrite.
Hey @RhysEli,
Currently, @christyjacob4 has added Google & Gitlab adapters and is working on these adapters:
- Bitbucket
- Microsoft
@christyjacob4 maybe you could use some help with the new adapters?
@christyjacob4 Also note that according to these docs (https://developer.twitter.com/en/docs/basics/authentication/api-reference/token) Twitter has added support for OAuth 2, so this should be a lot less complicated than we thought.
@RhysEli If you would like, we could also use adapters for:
- Yahoo
- Apple - Should be very similar to OAuth 2
- Amazon
- Discord
- Twitch
- Dropbox
- Mail.ru
- Slack
from appwrite.
@eldadfux Okay no problem. Shall I have a go with discord and twitch then?
from appwrite.
Can I help with the Slack support?
from appwrite.
I'll add Twitch support.
from appwrite.
@eldadfux @christyjacob4 I've got Slack. Just a quick fix and I'll make the PR
from appwrite.
@bogdaaamn That's great .. Kindly post a screenshot in your PR so we can verify it.
You can follow this comment
#93 (comment)
from appwrite.
Hey @eldadfux,
I'd like to add support for Instagram.
from appwrite.
@RhysEli Are you still working on discord? Please let us know.
from appwrite.
@mixty1 , Notice that #135 added the VK OAuth provider which actually started this issue 🥳.
from appwrite.
suggestion for a provider- stack exchange
from appwrite.
@nilmanichandrakar unfortunately we cannot have stack exchange because their api doesn't return the user email ID
from appwrite.
@nilmanichandrakar I don't think It would work now since their api doesnt return the user's email ID
from appwrite.
Any updates about the discord provider? Otherwise I can look into it
from appwrite.
@christyjacob4 do you remember whats the Discord adapter status?
from appwrite.
@eldadfux The last update on Discord was here #5 (comment)
@RhysEli Do we have any updates on Discord OAuth ? Let us know if you would like to continue working on it.
from appwrite.
Hey there, Is anyone working on the apple adapter?
from appwrite.
@PineappleIOnic, @christyjacob4 has started to work on it, but we got stuck when we were trying to create a demo app with test credentials from Apple. Will be great if you could help us.
from appwrite.
Any OAuth providers still left to be integrated? I'd like to extend a helping hand too 😄
from appwrite.
Hey @manaswinidas , we could use some help with Discord and Twitch for a start.
from appwrite.
@eldadfux I saw that a PR has already been created for Twitch. I'm going for Discord then.
from appwrite.
@manaswinidas that's great. I think the Twitch PR has been abandoned as it isn't active for more than a month.
from appwrite.
Hi @eldadfux, I can help with adding more providers.
I have tried to play around with Github OAuth to see how it's working, but it seems something is broken.
I get a Missing Project UID error.
I used this link pattern to test:
http://localhost/v1/auth/login/oauth/callback/github/{project_id}?success=http://localhost/?success=1&failure=http://localhost/auth/signin?failure=2
I noticed also on appwrite.io/console I get the same error when trying to login using one of the OAuth provider.
Am I doing something wrong?
from appwrite.
Hi @eldadfux, I can help with adding more providers.
I have tried to play around with Github OAuth to see how it's working, but it seems something is broken.
I get a Missing Project UID error.
I used this link pattern to test:
http://localhost/v1/auth/login/oauth/callback/github/{project_id}?success=http://localhost/?success=1&failure=http://localhost/auth/signin?failure=2
I noticed also on appwrite.io/console I get the same error when trying to login using one of the OAuth provider.
Am I doing something wrong?
@armino-dev can you share the steps you followed?
from appwrite.
Hi @eldadfux, I can help with adding more providers.
I have tried to play around with Github OAuth to see how it's working, but it seems something is broken.
I get a Missing Project UID error.
I used this link pattern to test:
http://localhost/v1/auth/login/oauth/callback/github/{project_id}?success=http://localhost/?success=1&failure=http://localhost/auth/signin?failure=2
I noticed also on appwrite.io/console I get the same error when trying to login using one of the OAuth provider.
Am I doing something wrong?@armino-dev can you share the steps you followed?
@christyjacob4
Here are the steps:
- I created a sample project
- I created an OAuth app on Github and got the client id and secret
- I navigated to Users > Providers, inserted the data from Github and save it.
- I tried http://localhost/v1/auth/login/oauth/callback/github/{project_id}?success=http://localhost/?success=1&failure=http://localhost/auth/signin?failure=2 with my project id off course.
from appwrite.
This is the endpoint you need to hit
http://localhost/v1/auth/login/oauth/github?project={project_id}&success=http://localhost/?success=1&failure=http://localhost/auth/signin?failure=2
from appwrite.
@armino-dev I hope it works now
from appwrite.
@christyjacob4 I think @armino-dev is hitting the same bug we had when we were working on the #261 issue.
@armino-dev i'll push a fix into the master to fix the missing project UID error. This is caused due to our lack of e2e testing for OAuth providers.
In this issue #275 i'll make sure to add a mock OAuth server that will be tested in the CI server and make sure this kind of thing don't happen again.
from appwrite.
Yes @eldadfux, you are correct. I have just tried with the correct endpoint and I get the same missing project UID error.
from appwrite.
Just committed a fix to the master branch:
c5444c8
@armino-dev If you are building the Appwrite container from the master branch and not from version 0.4.0 on Docker Hub you should just sync your master and I think this should work for you.
from appwrite.
I have just synced my fork, and everything it's working smoothly. I can make the Discord and Twitch OAuth integration for start, or any other provider you suggest.
Let me know if it's ok, and thanks for the fix.
from appwrite.
I think Discord and Twitch are great, @christyjacob4 is our providers specialist, @christyjacob4 what providers would you recommend for now?
from appwrite.
@eldadfux I think Discord and Twitch would be great as well.
@armino-dev You can refer to this comment #5 (comment) to get more information on providers we have planned.
Feel free to suggest more providers as well.
from appwrite.
Ok, thanks. I'll come with a PR soon.
from appwrite.
Updated @christyjacob4 list:
Done:
- BitBucket
- Github
- GitLab
- Microsoft
- Slack
- DropBox
- Amazon
- VK
- Discord
- Twitch
- Spotify
Ready for new PRs:
- Twitter (OAuth2 not OAuth1)
- Apple (Should be very similar to Auth2 - requires Apple developer account)
- Yahoo
- AOL
- SalesForce
- Bitly
- Stripe
- Shopify
- PayPal
- Mail.ru
- Yandex
- Baidu
- Renren
On Hold:
- Instagram (Instagram has some technical difficulties since their API doesn't return an email ID, which we require)
- Reddit (Reddit has some technical difficulties since their API doesn't return an email ID or a UUID or a full name, which we require)
- SoundCloud (API doesn't return an email ID, which we require)
(at a future release of Appwrite we'll adjust the OAuth flow not to require an email, and then we'll go back to review the 'on hold' list)
from appwrite.
Just updated the the list with our latest Bitly and Salesforce adapters.
I thinks that if we have no technical issues with Twitter we should prioritise it.
from appwrite.
I have played yesterday with more providers, for example, battle.net and Vimeo. They do not return emails, unfortunately.
I think Shopify can't be used because their API is tight to a store. You need to make requests to an endpoint like {shop}.myshopify.com/admin/api
I tried Stripe but can't verify my account. Romania is not in their countries list, so I have abandoned it.
I'll play with Twitter API today and see if it can be fitted to our abstraction class
from appwrite.
@armino-dev thanks for the update.
As mentioned before on Discord and to keep everyone here at sync, Appwrite requires the email as a unique id for login and account recovery. We do have plans to add phone support and allow anonymous login in the future. Once we are there, I think we can revisit all the adapters that don't return an email.
We should also make future plans for custom settings, to allow adapters like Shopify and to allow more flexibility for adapters like PayPal, who support a production and a sandbox envs.
from appwrite.
Closed in favor of #410
from appwrite.
Related Issues (20)
- 🐛 Bug Report: Domains Not Unassigned on Function Delete
- 🐛 Bug Report: Can't add a relationship to the existing document from Cloud Console HOT 3
- 🐛 Bug Report: CLI config for integer fields uses invalid default min and max values HOT 2
- 🐛 Bug Report: Why do I still encounter CORS issues when requesting functions despite adding a Web Platform and setting the host name? HOT 1
- 🚀 Enhancement: Client: set permission scope
- 🚀 Enhancement: Add support for push notification channels (Android/FCM) HOT 1
- 🐛 Bug Report: Missing scope throws Uncaught AppwriteException: Invalid redirect
- 🚀 Enhancement: Accepts Hashed Passwords in Login/Signup endpoints HOT 2
- 🐛 Bug Report: Stats shows only last 25days, end of every day, it hides 26th day. HOT 4
- 📚 Documentation: What's the realtime websocket URL? HOT 1
- AppwriteException: Database not found HOT 4
- 🐛 Bug Report: Recreate Same Name Relationship Attribute Only Self-Hosted HOT 5
- 🐛 Bug Report: No logs for failed index
- 📚 Documentation: createToken says it will create a user if they do not exist
- 🐛 Bug Report: SMS Sending via TextMagic stuck at "processing" status HOT 1
- 🐛 Bug Report: Receiving a general error for correct inputs using an email that account was previously deleted for HOT 1
- 🚀 Enhancement: Support Vonage Messages API for Messaging HOT 1
- 🐛 Bug Report:
- 🐛 Bug Report: Cannot renew domain HOT 6
- 🐛 Bug Report: querry does not work on Ios but does work on windows and android when using c# HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from appwrite.