def gbac_registration_state_post(user_id): logger.debug("gbac_registration_state_post()") logger.debug(request.form.get('password')) okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) user_data = okta_admin.get_user(user_id) if "errorCode" in user_data: logger.error("user_data: {0}".format(user_data)) return render_template("/registration-state.html", userid=user_id, templatename=get_app_vertical(), config=session[SESSION_INSTANCE_SETTINGS_KEY], error=user_data['errorSummary']) user_data["credentials"] = { "password": { "value": request.form.get('password') }, "recovery_question": { "question": "Company Name, its Okta.", "answer": "Okta" } } logger.debug(user_data) user_update_response = okta_admin.update_user(user_id=user_data["id"], user=user_data) logger.debug(user_update_response) if "errorCode" in user_update_response: return render_template( "/registration-state.html", userid=user_data["id"], templatename=get_app_vertical(), config=session[SESSION_INSTANCE_SETTINGS_KEY], error=user_update_response['errorCauses'][0]['errorSummary']) nresponse = okta_admin.activate_user(user_data["id"], send_email=False) logger.debug(nresponse) group_info = okta_admin.get_application_groups( session[SESSION_INSTANCE_SETTINGS_KEY]["client_id"]) group_id = group_info[0]["id"] okta_admin.assign_user_to_group(group_id, user_data["id"]) message = "Registration Complete! Please Login Now!" return redirect( url_for("gbac_bp.gbac_login", _external="True", _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"], message=message))
def dealer_registration_state_get(stateToken): logger.debug("dealer_registration_state_get()") user_id = stateToken okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) user_activate_response = okta_admin.activate_user(user_id, send_email=False) if "errorCode" in user_activate_response: return render_template( "{0}/registration-state.html".format(get_app_vertical()), templatename=get_app_vertical(), config=session[SESSION_INSTANCE_SETTINGS_KEY], error=user_activate_response) return render_template( "{0}/registration-state.html".format(get_app_vertical()), templatename=get_app_vertical(), config=session[SESSION_INSTANCE_SETTINGS_KEY], _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"])
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