def get_credentials(): if 'code' not in request.args: query = session.query(Buy) last = query.filter(bool(Buy.buy_id)).count() add = query.filter(Buy.buy_id == last).one() user = add.temp query = session.query(User) query = query.filter(User.username == user).one() chat_id = query.chat_id text = 'No successful authorization' message(chat_id, text) text = 'To continue, /start' message(chat_id, text) response = "No successful authorization" else: credentials = flow.step2_exchange(request.args.get('code')) json_credentials = Credentials.to_json(credentials) query = session.query(Buy) last = query.filter(bool(Buy.buy_id)).count() add = query.filter(Buy.buy_id == last).one() user = add.temp query = session.query(User) query = query.filter(User.username == user) query.update({User.token: json_credentials}) session.commit() query = query.filter(User.username == user).one() chat_id = query.chat_id text = 'Successful authorization' message(chat_id, text) text = 'To continue, enter /start' message(chat_id, text) calendar() response = "Successful authorization" return response, 200
def test_to_from_json(self): credentials = Credentials() json = credentials.to_json() restored = Credentials.new_from_json(json)
def set_client_credentials(self, Credentials): with open(self.credentials_file, 'w') as f: f.write(Credentials.to_json())
return OAuth2WebServerFlow( client_id=settings['client_id'], client_secret=settings['client_secret'], scope=settings['oauth_scope'], redirect_uri=settings['redirect_uri'], access_type='offline', approval_prompt='force', ) def get_auth_url(): flow = get_auth_flow() return flow.step1_get_authorize_url() if flow else None def set_credentials(token): flow = get_auth_flow() if not flow: return False try: credentials = flow.step2_exchange(token) except Exception, e: logger.error('failed to validate google auth token: %s', str(e)) return False Settings.set_setting('google_api_credentials', 'credentials', Credentials.to_json(credentials)) # refresh_token = credentials.refresh_token # if refresh_token: # Settings.set_setting('google_api_credentials', # 'refresh_token', refresh_token) return True
def saveCredentials(self, creds: Credentials): parsed = json.loads(creds.to_json()) with open(self.config.get(Setting.CREDENTIALS_FILE_PATH), "w") as f: json.dump(parsed, f) self.tryLoadCredentials()
def locked_put(self, credentials: Credentials): SETTINGS[self.settings_path] = json.dumps(credentials.to_json())