def _on_auth(self, uid, creds, store): if not creds: raise tornado.web.HTTPError(500, "Storage auth failed") sess_id = Session.extract_session_id(self) sess = Session.get_session(sess_id) logger.debug("%s storage authenticated for with credentials %s", sess.log_str(), creds.to_json()) sess.storage_auth_valid(self, creds, store) if uid != None: logger.debug("%s stashed credentials for %s", sess.log_str(), str(uid)) Utils.stash_storage_creds(StorageHandlerBase.SEC_SALT, uid, creds)
def handle_auth(self, wsmsg): if (not self.is_authenticated) and (wsmsg.msg_type() == WSMsg.REQ_AUTH): self.sess_id = wsmsg.data('sess_id') self.sess = sess = Session.get_session(self.sess_id) self.is_authenticated = (sess != None) if self.is_authenticated: sess.detach = True # set detach mode by default self.work_dir = sess.work_dir() self.storage_creds, self.store = sess.storage() msg = None else: msg = 'Your login session appears to have timed out. Please sign in again.' return ({'success': self.is_authenticated, 'msg': msg}, not self.is_authenticated) return (None, not self.is_authenticated)
def get(self): #logger.debug("got request url " + self.request.full_url()) global SRVR_CFG global logger if SRVR_CFG.multiuser: self.sess_id = sess_id = Session.extract_session_id(self) self.sess = sess = Session.get_session(sess_id) if self.sess == None: logger.debug("redirecting request to home page") self.redirect('/static/index.html') #logger.debug("redirecting request for authentication") #self.redirect('/auth/login') return username = sess.user_name() userid = sess.user_id() userrole = sess.user_role() has_running_task = (None != sess.task) txt_shutdown = "Logout" txt_shutdown_msg = "Are you sure you want to logout from Circuitscape?" filedlg_type = "google" filedlg_developer_key = SRVR_CFG.cfg_get("GOOGLE_DEVELOPER_KEY") filedlg_app_id = SRVR_CFG.cfg_get("GOOGLE_CLIENT_ID") else: userid = username = getpass.getuser() userrole = ['standalone'] has_running_task = False txt_shutdown = "Shutdown" txt_shutdown_msg = "Are you sure you want to close Circuitscape?" filedlg_type = "srvr" filedlg_developer_key = None filedlg_app_id = None sess_id = '' kwargs = { 'username': username, 'userid': userid, 'userrole': userrole, 'has_running_task': has_running_task, 'version': cs_version, 'author': cs_author, 'ws_url': SRVR_CFG.ws_url, 'sess_id': sess_id, 'txt_shutdown': txt_shutdown, 'txt_shutdown_msg': txt_shutdown_msg, 'filedlg_type': filedlg_type, 'filedlg_developer_key': filedlg_developer_key, 'filedlg_app_id': filedlg_app_id } self.render("cs.html", **kwargs)