def post(self): """Anlegen eines Benutzers""" adm = ApplikationsAdministration() test = Benutzer.from_dict(api.payload) if test is not None: a = adm.benutzer_anlegen(test.get_name(), test.get_email(), test.get_google_id()) return a, 200 else: return '', 500
def wrapper(*args, **kwargs): # Verify Firebase auth. id_token = request.cookies.get("token") error_message = None claims = None objects = None if id_token: try: # Verify the token against the Firebase Auth API. This example # verifies the token on each page load. For improved performance, # some applications may wish to cache results in an encrypted # session store (see for instance # http://flask.pocoo.org/docs/1.0/quickstart/#sessions). claims = google.oauth2.id_token.verify_firebase_token( id_token, firebase_request_adapter) if claims is not None: adm = ApplikationsAdministration() google_user_id = claims.get("user_id") email = claims.get("email") name = claims.get("name") user = adm.get_user_by_google_user_id(google_user_id) # Benennen wie in ApplikationsAdministration if user is not None: """Fall: Der Benutzer ist unserem System bereits bekannt. Wir gehen davon aus, dass die google_user_id sich nicht ändert. Wohl aber können sich der zugehörige Klarname (name) und die E-Mail-Adresse ändern. Daher werden diese beiden Daten sicherheitshalber in unserem System geupdated.""" user.set_name(name) user.set_email(email) adm.update_benutzer(user) #set_name und set_email benennen wie in Benutzer.py #adm.save-user benennen wie in ApplikationsAdministration.py else: """Fall: Der Benutzer war bislang noch nicht eingelogged. Wir legen daher ein neues User-Objekt an, um dieses ggf. später nutzen zu können. """ user = adm.benutzer_anlegen(name, email, google_user_id) #Benennen wie in ApplikationsAdministration print(request.method, request.path, "angefragt durch:", name, email) objects = function(*args, **kwargs) return objects else: return '', 401 # UNAUTHORIZED !!! except ValueError as exc: # This will be raised if the token is expired or any other # verification checks fail. error_message = str(exc) return exc, 401 # UNAUTHORIZED !!! return '', 401 # UNAUTHORIZED !!!