The trick is always the same extend OAuthAccount get_user() to return
(first_name, last_name ... ).
If you want to use the code below, after registering your app on google,
save the json credentials in your <app>/private/google_auth.json
### code
###
from gluon.contrib.login_methods.oauth20_account import OAuthAccount
try:
import json
except ImportError:
from gluon.contrib import simplejson as json
class GoogleAccount(OAuthAccount):
"OAuth 2.0 for Google"
def __init__(self):
with open(os.path.join(request.folder, 'private/google_auth.json'),
'rb') as f:
gai = Storage(json.load(f)['web'])
OAuthAccount.__init__(self, None, gai.client_id, gai.client_secret,
gai.auth_uri, gai.token_uri,
scope='
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/userinfo.email',
approval_prompt='force',
state="auth_provider=google")
def get_user(self):
token = self.accessToken()
if not token:
return None
uinfo_url = '
https://www.googleapis.com/oauth2/v1/userinfo?access_token=%s' %
urllib2.quote(token, safe='')
uinfo = None
try:
uinfo_stream = urllib2.urlopen(uinfo_url)
except:
session.token = None
return
data = uinfo_stream.read()
uinfo = json.loads(data)
username = uinfo['id']
return dict(first_name = uinfo['given_name'],
last_name = uinfo['family_name'],
username = username,
email = uinfo['email'])
2013/10/7 ssuresh <[email protected]>
> I am trying to integrate google login into web2py(without using janrain).
> I could see examples of oauth login using facebook and linkedin but not
> google. Can someone please point to on how to get started..
>
> --
> Resources:
> - http://web2py.com
> - http://web2py.com/book (Documentation)
> - http://github.com/web2py/web2py (Source code)
> - https://code.google.com/p/web2py/issues/list (Report Issues)
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.