def login_clear_session(session_id=None): """ Handle either full form post redirect or a json response with redirect url """ print("login_clear_session()") login_form_data = request.get_json() if session_id: okta_admin = OktaAdmin(session) okta_admin.close_session(session_id) return json.dumps( create_login_response(login_form_data["username"], login_form_data["password"], session))
def activate(user_id, okta_session_id): print("activate(user_id, okta_session_id)") activation_response = {} auth_response = make_response(redirect("/")) okta_admin = OktaAdmin(session) user = okta_admin.get_user(user_id) if user: activation_response = okta_admin.activate_user(user_id, send_email=False) print("activation_response: {0}".format( json.dumps(activation_response, indent=4, sort_keys=True))) if "okta_session_id": print("Clearing exsisting session") clear_session_response = okta_admin.close_session(okta_session_id) print("clear_session_response: {0}".format( json.dumps(clear_session_response, indent=4, sort_keys=True))) if "activationToken" in activation_response: okta_auth = OktaAuth(session) auth_response = okta_auth.authenticate_with_activation_token( activation_response["activationToken"]) # print("auth_response: {0}".format(json.dumps(auth_response, indent=4, sort_keys=True))) if "sessionToken" in auth_response: auth_response = login_token(auth_response["sessionToken"]) # status = MFA_ENROLL # status = PASSWORD_RESET elif "stateToken" in auth_response: if "MFA_ENROLL" == auth_response["status"]: auth_response = make_response( redirect("/?stateToken={0}&showMFAEnroll=true".format( auth_response["stateToken"]))) elif "PASSWORD_RESET" == auth_response["status"]: auth_response = make_response( redirect("/?stateToken={0}&showBDV=true".format( auth_response["stateToken"]))) else: auth_response = make_response( redirect("/?stateToken={0}".format( auth_response["stateToken"]))) return auth_response