mitodl/ol-django

Migrate authentication app

Opened this issue · 0 comments

We have a few existing implementations of authentication, these are largely the same:

Open: https://github.com/mitodl/open-discussions/tree/master/authentication
xPro: https://github.com/mitodl/mitxpro/tree/master/authentication
Bootcamps: http://github.com/mitodl/bootcamp-ecommerce/tree/master/authentication

Bootcamps represents the most up-to-date implementation with a few bug fixes and improvements. xPro is the next most recent version and Open is the original implementation. Generally speaking this app wraps django-social-auth in a REST API in order for React-based UIs to call it.

I started a port of the application a while back (I've rebased this, but it's probably in a broken state otherwise): https://github.com/mitodl/ol-django/compare/nl/add-auth-app

  • Pull out reuseable authentication app logic
  • Social auth actions need to return SocialAuthState directly
  • Combine separate API endpoints into a single one
    • Typically implementations make per-state API endpoints, this isn't strictly necessary, adds unnecessary complexity, and would be difficult to port into a reusable app
  • User creation will be up to the integrating app