- Instead of having everything in a single .py file, using Python packages and Flask blueprints to make the code more modular.
- Having a way to distinguish between different users
- Tests (I haven't written any tests yet)
I'm using Flask because I find Python comfortable, and I was scared off by the amount of convention I encountered when I researched Rails and Django. Both Two Scoops of Django, and Michael Hartl's Rails Tutorial, are excellent, but the learning curve to having a basic project working seemed too long. Maybe I'm wrong.
Anyway, this is just to say that I realise I made a choice not to use a 'batteries included' framework, so I shouldn't expect social auth to be easy.
I've seen three different modules for social auth in Flask:
- https://github.com/omab/python-social-auth
- https://github.com/mattupstate/flask-social
- https://github.com/wooyek/flask-social-blueprint
Do you guys use one of these, or roll your own using Flask-OAuthlib?
I'm sure my ideal flow is pretty common: click a Facebook or Google button, click 'authorise', have the software auto-create an account, and then log me in. I'm almost there with Flask-Social; I still need to enter my email address and a password before the account is created, but I think I can fix that as long as I can get an email address from somewhere.