def get(self): try: client_id = self.request.GET['client_id'] except: self.redirect("/error?msg=missing client_id for new session") return try: client = ndb.Key(urlsafe=client_id).get() except: self.redirect("/error?msg=client was not found") return session = Session() session.dni = client.dni session.subject = "Revisión" session.comments = "" session.proposal = "" session.put() self.redirect("/modifySession?session_id=" + session.key.urlsafe() + "&client_id=" + client_id)
def get_verified_data(jws, expected=None, session_token=None): headers = json_parse(get_jws_part(jws, 0)) raw_username = headers['kikUsr'] username = raw_username.lower() hostname = headers['kikCrdDm'].split('/')[0].lower() payload = get_jws_part(jws, 1) if expected is not None and payload != expected: logging.info('jws, payload does not match expected value') raise Exception('payload does not match expected value') try: data = json_parse(payload) except: data = None try: session = ndb.Key(urlsafe=session_token).get() except Exception as e: session = None if session is None or not isinstance( session, Session ) or session.username != username or session.hostname != hostname: session = None session_token = None if username not in TEST_USERS: verify_jws(jws, raw_username, hostname, (headers.get('kikDbg') and DEBUG)) elif not DEBUG: logging.info('jws, chrome user detected') raise Exception('chrome user detected') try: session = Session(username=username, hostname=hostname) session.put() session_token = session.key.urlsafe() except: pass return username, hostname, data, session_token
def get_verified_data(jws, expected=None, session_token=None): headers = json_parse(get_jws_part(jws, 0)) raw_username = headers['kikUsr'] username = raw_username.lower() hostname = headers['kikCrdDm'].split('/')[0].lower() payload = get_jws_part(jws, 1) if expected is not None and payload != expected: logging.info('jws, payload does not match expected value') raise Exception('payload does not match expected value') try: data = json_parse(payload) except: data = None try: session = ndb.Key(urlsafe=session_token).get() except Exception: session = None if session is None or not isinstance(session, Session) \ or session.username != username or session.hostname != hostname: session_token = None if username not in TEST_USERS: verify_jws(jws, raw_username, hostname, (headers.get('kikDbg') and DEBUG)) elif not DEBUG: logging.info('jws, chrome user detected') raise Exception('chrome user detected') try: session = Session(username=username, hostname=hostname) session.put() session_token = session.key.urlsafe() except: pass return username, hostname, data, session_token