openknowledge-archive / dpr-api

DEPRECATED - Data Package Registry API and Frontend
http://frictionlessdata.io/
MIT License
7 stars 6 forks source link

Research replacing auth0 with simple google and/or github login #267

Closed subhankarb closed 7 years ago

subhankarb commented 7 years ago

We use auth0 for user management. We want to know what options we have for simple google and/or github login in flask

We are not sure Auth0 is the best option and want to look at alternatives.

Tasks

Acceptance criteria

Context and Problem

We use Auth0 for our authentication.

The main problems with using Auth0 for us are:

At the same time:

Options

Recommendation

flask-oauthlib - https://github.com/lepture/flask-oauthlib

Why?

API: /login?type=(github|google|..)
Callback API: /login/authorized/{type}

These two examples are enough for our use:

Analysis and Next Steps

What we have and what we plan

What we plan:

Features we'll lose:

Qus

Tasks

Estimate:

Acceptance Criteria

Stuff for later

When we do google sign in ...

A really nice sign up flow:

pwalsh commented 7 years ago

again: see openspending.

rufuspollock commented 7 years ago

@pwalsh yes, that's exactly what we've been looking at 😄 If you have any specific details here that would be useful -- e.g. talking to @akariv my understanding is that there is no "post-sign-up" flow to do things like send welcome emails or set usernames. That's the kind of thing we'll still need to implement.

Originally, we felt there was a requirement to have simple sign up plus we thought auth0 would be relatively straightforward. Unfortunately (see e.g. #195) this has not been the case and we're looking at simplifying to just google and/or github.

pwalsh commented 7 years ago

OpenSpending allows setting usernames. As for welcome emails and so forth - do we really need them for the MVP? When we use an oauth provider, there are no passwords to reset and so on, so not sure we need it.

rufuspollock commented 7 years ago

@pwalsh

subhankarb commented 7 years ago

FIXED. See updated description above with analysis and recommendation. I've also created a new issue #268 with the next steps