Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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))