2
Google App Engine support using User API
4
from __future__ import absolute_import
6
from google.appengine.api import users
8
from .base import BaseAuth
9
from ..exceptions import AuthException
12
class GoogleAppEngineAuth(BaseAuth):
13
"""GoogleAppengine authentication backend"""
14
name = 'google-appengine'
16
def get_user_id(self, details, response):
17
"""Return current user id."""
18
user = users.get_current_user()
22
def get_user_details(self, response):
23
"""Return user basic information (id and email only)."""
24
user = users.get_current_user()
25
return {'username': user.user_id(),
26
'email': user.email(),
32
"""Build and return complete URL."""
33
return users.create_login_url(self.redirect_uri)
35
def auth_complete(self, *args, **kwargs):
36
"""Completes login process, must return user instance."""
37
if not users.get_current_user():
38
raise AuthException('Authentication error')
39
kwargs.update({'response': '', 'backend': self})
40
return self.strategy.authenticate(*args, **kwargs)