def get_storage(request): """ Gets a Credentials storage object provided by the Django OAuth2 Helper object. Args: request: Reference to the current request object. Returns: An :class:`oauth2.client.Storage` object. """ storage_model = oauth2_settings.storage_model user_property = oauth2_settings.storage_model_user_property credentials_property = oauth2_settings.storage_model_credentials_property if storage_model: module_name, class_name = storage_model.rsplit('.', 1) module = importlib.import_module(module_name) storage_model_class = getattr(module, class_name) return storage.DjangoORMStorage(storage_model_class, user_property, request.user, credentials_property) else: # use session return dictionary_storage.DictionaryStorage( request.session, key=_CREDENTIALS_KEY)
def authorize_google(step, request): if step == 1: FLOW.params['state'] = xsrfutil.generate_token(settings.SECRET_KEY, request.user) authorize_url = FLOW.step1_get_authorize_url() return HttpResponseRedirect(authorize_url) if step == 2: if not xsrfutil.validate_token(settings.SECRET_KEY, str(request.GET.__getitem__('state')), request.user): return False if request.GET.__contains__('error'): return False credential = FLOW.step2_exchange(request.GET) storage.DjangoORMStorage(CredentialsModel, 'id', request.user, 'credential').put(credential) return True return False
def get_credentials(request): credential = storage.DjangoORMStorage(CredentialsModel, 'id', request.user, 'credential').get() return credential.authorize(httplib2.Http())
def is_authorized(request): credential = storage.DjangoORMStorage(CredentialsModel, 'id', request.user, 'credential').get() if credential is None or credential.invalid == True: return False return True