0

I've recently seen this post https://cloud.google.com/appengine/docs/deprecations/open_id saying that Google App Engine will drop support for OpenID 2.0 (Users API).

In my app, many users have yahoo accounts and they use their yahoo email address to access it using federated login, so, as I understand, I'll have to switch to OAuth.

The problem is that yahoo doesn't give access to the user's email address, after the authentication step on the yahoo login page, so I have no way of matching the login with the user's profile entity in my datastore.

Am I missing something here? How do I solve this issue?

Andrei F
  • 4,205
  • 9
  • 35
  • 66

1 Answers1

0

Google has several identity solutions, see my answer to this Q&A, check which is best suited for your app: What is the difference between Google identity toolkit, Google OAauth and Google+ sign in

In particular the Identity Toolkit offers federated login (including Yahoo) and does offer access to the user email. A bit tricky to use on GAE, tho as the module and its dependencies need to be vendored in. This is how my lib dir looks like with all its dependencies I found:

> ls -la lib/
total 12
drwxrwxr-x 2 userid at 4096 Jul  8 12:42 .
drwxrwxr-x 8 userid at 4096 Jul 17 00:54 ..
lrwxrwxrwx 1 userid at   49 Jul  8 12:42 httplib2 -> /usr/local/google_appengine/lib/httplib2/httplib2
lrwxrwxrwx 1 userid at   85 Jul  8 12:40 identitytoolkit -> /usr/local/google_appengine_lib/identity-toolkit-python-client-master/identitytoolkit
lrwxrwxrwx 1 userid at   57 Jul  8 12:41 oauth2client -> /usr/local/google_appengine/lib/oauth2client/oauth2client
lrwxrwxrwx 1 userid at   53 Jul  8 12:42 simplejson -> /usr/local/google_appengine/lib/simplejson/simplejson
lrwxrwxrwx 1 userid at   39 Jul  8 12:42 six -> /usr/local/google_appengine/lib/six/six

Note: instead of pip-installing the dependencies (I dislike that recipe) I just symlinked in the respective modules from the GAE SDK itself.

Community
  • 1
  • 1
Dan Cornilescu
  • 39,470
  • 12
  • 57
  • 97