I use flask_oauth, but it seems rauth/flask-rauth is more up to date.
I see that I would have to build my own functionality for keeping track of users between sessions, i.e. a persistent user database.
Do you create a 'shadow' user account in your system to correspond with each authorized account? What happens if someone logs in with Facebook one day, and Google another day; do they end up with two user accounts?
More importantly, do you write your user management code again each time you create a new project, or is it modular enough that you can re-use it?
Modular enough for my needs. I tried https://github.com/mattupstate/flask-social which seems to be a more structured approach but couldn't wrap my head around it.