GithubHelp home page GithubHelp logo

Comments (55)

eldadfux avatar eldadfux commented on May 31, 2024 1

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.

christyjacob4 avatar christyjacob4 commented on May 31, 2024 1

Hey @eldadfux I would like to work on this. Please let me know if I can! Cheers!

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024 1

Hey @pratikhmehta,

Instagram adapter is currently on hold due to some technical difficulties. 😞

from appwrite.

twoteesgh avatar twoteesgh commented on May 31, 2024 1

Hi @christyjacob4, yes I'm still working on Discord. Should get my PR in this weekend.

from appwrite.

twoteesgh avatar twoteesgh commented on May 31, 2024 1

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.

Naamboon avatar Naamboon commented on May 31, 2024 1

It gonna be works

from appwrite.

PineappleIOnic avatar PineappleIOnic commented on May 31, 2024 1

@eldadfux alright, once I get my docker back up and working I'll get right to work trying to add it

from appwrite.

Naamboon avatar Naamboon commented on May 31, 2024 1

I Hope get a new version

from appwrite.

armino-dev avatar armino-dev commented on May 31, 2024 1

oops, thanks

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024 1

Just finished working on the Apple adapter 🤘

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

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.

eldadfux avatar eldadfux commented on May 31, 2024

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.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

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.

eldadfux avatar eldadfux commented on May 31, 2024

@christyjacob4 Google & Gitlab sounds great! I am available for any question!

from appwrite.

valishah avatar valishah commented on May 31, 2024

Hey @eldadfux: Is it fine if I grab github oAuth and work?

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

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.

twoteesgh avatar twoteesgh commented on May 31, 2024

Hey! I'd like to add support for Twitter

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

Hey @RhysEli,

Currently, @christyjacob4 has added Google & Gitlab adapters and is working on these adapters:

  • Bitbucket
  • Instagram
  • Microsoft
  • Twitter

@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:

from appwrite.

twoteesgh avatar twoteesgh commented on May 31, 2024

@eldadfux Okay no problem. Shall I have a go with discord and twitch then?

from appwrite.

JulianOrozcoC avatar JulianOrozcoC commented on May 31, 2024

Can I help with the Slack support?

from appwrite.

donofriov avatar donofriov commented on May 31, 2024

I'll add Twitch support.

from appwrite.

bogdaaamn avatar bogdaaamn commented on May 31, 2024

@eldadfux @christyjacob4 I've got Slack. Just a quick fix and I'll make the PR

from appwrite.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

@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.

pratikhmehta avatar pratikhmehta commented on May 31, 2024

Hey @eldadfux,
I'd like to add support for Instagram.

from appwrite.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

@RhysEli Are you still working on discord? Please let us know.

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

@mixty1 , Notice that #135 added the VK OAuth provider which actually started this issue 🥳.

from appwrite.

nilmanichandrakar avatar nilmanichandrakar commented on May 31, 2024

suggestion for a provider- stack exchange

from appwrite.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

@nilmanichandrakar unfortunately we cannot have stack exchange because their api doesn't return the user email ID

from appwrite.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

@nilmanichandrakar I don't think It would work now since their api doesnt return the user's email ID

from appwrite.

stijnvdkolk avatar stijnvdkolk commented on May 31, 2024

Any updates about the discord provider? Otherwise I can look into it

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

@christyjacob4 do you remember whats the Discord adapter status?

from appwrite.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

@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.

PineappleIOnic avatar PineappleIOnic commented on May 31, 2024

Hey there, Is anyone working on the apple adapter?

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

@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.

manaswinidas avatar manaswinidas commented on May 31, 2024

Any OAuth providers still left to be integrated? I'd like to extend a helping hand too 😄

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

Hey @manaswinidas , we could use some help with Discord and Twitch for a start.

from appwrite.

manaswinidas avatar manaswinidas commented on May 31, 2024

@eldadfux I saw that a PR has already been created for Twitch. I'm going for Discord then.

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

@manaswinidas that's great. I think the Twitch PR has been abandoned as it isn't active for more than a month.

from appwrite.

armino-dev avatar armino-dev commented on May 31, 2024

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.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

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.

armino-dev avatar armino-dev commented on May 31, 2024

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:

  1. I created a sample project
  2. I created an OAuth app on Github and got the client id and secret
  3. I navigated to Users > Providers, inserted the data from Github and save it.
  4. 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.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

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.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

@armino-dev I hope it works now

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

@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.

armino-dev avatar armino-dev commented on May 31, 2024

Yes @eldadfux, you are correct. I have just tried with the correct endpoint and I get the same missing project UID error.

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

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.

armino-dev avatar armino-dev commented on May 31, 2024

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.

eldadfux avatar eldadfux commented on May 31, 2024

I think Discord and Twitch are great, @christyjacob4 is our providers specialist, @christyjacob4 what providers would you recommend for now?

from appwrite.

christyjacob4 avatar christyjacob4 commented on May 31, 2024

@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.

armino-dev avatar armino-dev commented on May 31, 2024

Ok, thanks. I'll come with a PR soon.

from appwrite.

eldadfux avatar eldadfux commented on May 31, 2024

Updated @christyjacob4 list:

Done:

  • BitBucket
  • Facebook
  • Github
  • GitLab
  • Google
  • Microsoft
  • LinkedIn
  • 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
  • Weibo

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.

eldadfux avatar eldadfux commented on May 31, 2024

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.

armino-dev avatar armino-dev commented on May 31, 2024

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.

eldadfux avatar eldadfux commented on May 31, 2024

@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.

eldadfux avatar eldadfux commented on May 31, 2024

Closed in favor of #410

from appwrite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.