bridgy icon indicating copy to clipboard operation
bridgy copied to clipboard

Consider using an OAuth client library

Open snarfed opened this issue 4 years ago • 0 comments

Bridgy uses oauth-dropins, our home grown OAuth client library, to auth with the 11 different services that Bridgy needs. (Everything on the front page, minus Facebook and Instagram, plus IndieAuth.)

oauth-dropins is fine, but it takes a fair amount of maintenance, and it's not very widely adopted outside of Bridgy and granary, so we don't really get any benefit from using it. There's a solid selection of others that are more mature and widely supported that we could migrate to instead. It would be a significant project, and none of them have all of the services we need yet - Mastodon is a significant one that's missing from all of them, and takes extra work to implement - but long term, the ROI might be worth it.

Here are the options I've looked at:

Authlib / loginpass

Authomatic

  • Flask support
  • storage: only legacy app engine ndb, https://github.com/authomatic/authomatic/issues/194
  • normalized user data
  • missing: Blogger, IndieAuth, Mastodon, Medium, WordPress
  • how to add a new service: https://github.com/authomatic/authomatic/issues/17

python-social-auth

  • unmaintained?! looking for maintainers, https://github.com/python-social-auth/social-core/issues/539
  • Flask support
  • storage: SQLAlchemy, MongoEngine, Peewee
  • normalized user data: only username and email
  • how to add a new provider
  • missing: IndieAuth, Mastodon, Medium, Reddit, WordPress

snarfed avatar Sep 13 '21 00:09 snarfed