def gbac_apps_create_cc(): logger.debug("gbac_apps_create_cc()") user_info = get_userinfo() okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) app_name = request.args.get('appname') create_app = okta_admin.create_clientcredential_application(app_name) okta_admin.assign_user_to_application(user_info["sub"], user_info["email"], create_app["id"]) return create_app
def gbac_apps_create_oidc(): logger.debug("gbac_apps_create_oidc()") user_info = get_userinfo() okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) app_name = request.args.get('appname') redirecturi = request.args.get('loginredirecturi') create_app = okta_admin.create_web_application( app_name=app_name, redirect_uris=redirecturi, createdby=user_info["email"]) okta_admin.assign_user_to_application(user_info["sub"], user_info["email"], create_app["id"]) return create_app
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) app_already_exists = False user_apps = okta_admin.get_applications_by_user_id(user_data["id"]) for each_app in user_apps: if each_app["id"] == session[SESSION_INSTANCE_SETTINGS_KEY]["client_id"]: app_already_exists = True if not app_already_exists: okta_admin.assign_user_to_application(user_data["id"], user_data["profile"]["email"], session[SESSION_INSTANCE_SETTINGS_KEY]["client_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))