Make full name optional in all authentication providers
authorMagnus Hagander <magnus@hagander.net>
Thu, 31 Aug 2017 07:56:38 +0000 (09:56 +0200)
committerMagnus Hagander <magnus@hagander.net>
Thu, 31 Aug 2017 07:56:38 +0000 (09:56 +0200)
We haven't seen crashes for other providers, but that's no reason not to
fix..

pgweb/account/oauthclient.py

index cdb5f7ee562b75dbec1f32fa2c66e12970d567e8..32c3e747c67beb83aeddb8d36555db40fb3924a7 100644 (file)
@@ -84,8 +84,8 @@ def oauth_login_google(request):
                if not r['verified_email']:
                        raise Exception("Verified email required")
                return (r['email'],
-                               r['given_name'],
-                               r['family_name'])
+                               r.get('given_name', ''),
+                               r.get('family_name', ''))
 
        return _login_oauth(
                request,
@@ -142,8 +142,8 @@ def oauth_login_facebook(request):
        def _facebook_auth_data(oa):
                r = oa.get('https://graph.facebook.com/me?fields=email,first_name,last_name').json()
                return (r['email'],
-                               r['first_name'],
-                               r['last_name'])
+                               r.get('first_name', ''),
+                               r.get('last_name', ''))
 
        return _login_oauth(
                request,
@@ -162,8 +162,8 @@ def oauth_login_microsoft(request):
        def _microsoft_auth_data(oa):
                r = oa.get("https://apis.live.net/v5.0/me").json()
                return (r['emails']['account'],
-                               r['first_name'],
-                               r['last_name'])
+                               r.get('first_name', ''),
+                               r.get('last_name', ''))
 
        return _login_oauth(
                request,