Пример #1
0
def ecommerce_approvals_post():
    logger.debug("workflow_approvals()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    user_id = user["id"]

    if request.form.get("action") == "reject":
        req = request.form.get("action_value")
        req = req.replace("\'", "\"")
        req = json.loads(req)
        user_id = req["user_id"]
        group_id = req["group_id"]
        user_wf = okta_admin.get_user(user_id)

        grps = user_wf["profile"][get_udp_ns_fieldname("access_requests")]
        grps.remove(group_id)

        # Remove user attribute organization ( as the request has been rejected)
        user_data = {
            "profile": {
                get_udp_ns_fieldname("access_requests"): grps
            }
        }
        okta_admin.update_user(user_id=user_id, user=user_data)

    if request.form.get("action") == "approve":
        req = request.form.get("action_value")
        req = req.replace("\'", "\"")
        req = json.loads(req)
        user_id = req["user_id"]
        group_id = req["group_id"]

        # Assign user to group
        okta_admin.assign_user_to_group(group_id, user_id)

        user_wf = okta_admin.get_user(user_id)

        grps = user_wf["profile"][get_udp_ns_fieldname("access_requests")]
        grps.remove(group_id)

        # Remove user attribute organization ( as the request has been rejected)
        user_data = {
            "profile": {
                get_udp_ns_fieldname("access_requests"): grps
            }
        }
        okta_admin.update_user(user_id=user_id, user=user_data)

    return redirect(
        url_for("ecommerce_views_bp.ecommerce_approvals_get",
                _external=True,
                _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"]))
Пример #2
0
def ecommerce_accept_terms():
    logger.debug("ecommerce_accept_terms()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    user_id = user["id"]

    now = datetime.datetime.now()
    # dd/mm/YY H:M:S
    consent = now.strftime("%d/%m/%Y %H:%M:%S")

    user_data = {"profile": {get_udp_ns_fieldname("consent"): consent}}
    user_update_response = okta_admin.update_user(user_id, user_data)
    if user_update_response:
        message = "Thank you for completing the Consent Form."
    else:
        message = "Error During consent"

    return redirect(
        url_for(
            "ecommerce_views_bp.ecommerce_profile",
            _external="True",
            _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"],
            user_id=user_id,
            message=message))
Пример #3
0
def ecommerce_order():
    logger.debug("ecommerce_order()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])

    return render_template("ecommerce/order.html", user=user, user_info=get_userinfo(), config=session[SESSION_INSTANCE_SETTINGS_KEY], _scheme="https")
Пример #4
0
def get_profile():
    print("get_profile()")
    user = None
    factors = None

    if ("token" in request.cookies and "id_token" in request.cookies):
        id_token_claims = get_claims_from_token(request.cookies["id_token"])

        if "sub" in id_token_claims:
            okta_admin = OktaAdmin(session)
            user = okta_admin.get_user(id_token_claims["sub"])
            user_profile = user["profile"]
            app_user = okta_admin.get_user_application_by_current_client_id(
                user["id"])
            print(json.dumps(app_user))
            app_user_profile = app_user["profile"]
            #print("user: {0}".format(user))

            # get a list of enrolled factors
            factors = get_enrolled_factors(user["id"])

    response = make_response(
        render_template("profile.html",
                        site_config=session,
                        user=user,
                        user_profile=user_profile,
                        app_user=app_user_profile,
                        factors=factors,
                        claims=id_token_claims,
                        okta_widget_container_id="okta-login-container",
                        getNewTokenUrl=""))

    return response
Пример #5
0
def ecommerce_profile():
    logger.debug("ecommerce_profile()")
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user_info = get_userinfo()
    user_info2 = okta_admin.get_user(user_info["sub"])
    factors = get_enrolled_factors(user_info["sub"])

    if get_udp_ns_fieldname("consent") in user_info2["profile"]:
        consent = user_info2["profile"][get_udp_ns_fieldname("consent")]
        if consent.strip() == "":
            consent = ''
            session['appointment'] = "No Appointments Currently Set."
    else:
        consent = ''

    crediturl = ''
    app_info = okta_admin.get_applications_by_user_id(user_info["sub"])
    for item in app_info:
        if "credit Demo (Generated by UDP)" in item["label"]:
            domain = urlparse(
                item["settings"]["oauthClient"]["initiate_login_uri"]).netloc
            crediturl = "https://" + domain

    return render_template("ecommerce/profile.html",
                           id_token=TokenUtil.get_id_token(request.cookies),
                           access_token=TokenUtil.get_access_token(
                               request.cookies),
                           user_info=user_info,
                           user_info2=user_info2,
                           consent=consent,
                           factors=factors,
                           config=session[SESSION_INSTANCE_SETTINGS_KEY],
                           crediturl=crediturl)
Пример #6
0
def dealer_myapps_get():
    logger.debug("dealer_myapps_get()")

    CONFIG_GROUP_LOCATION_STARTSWITH = "{0}_".format(get_udp_ns_fieldname(CONFIG_LOCATION))

    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    user_id = user["id"]

    location = ""

    # Find the groups the user belongs to and find the description of the _LOC_* group
    get_user_groups_response = okta_admin.get_user_groups(user_id=user_id)
    for item in get_user_groups_response:
        if item["profile"]["name"].startswith(CONFIG_GROUP_LOCATION_STARTSWITH):
            location = item["profile"]["description"]

    get_apps_response = okta_admin.get_applications_by_user_id(user_id)

    return render_template(
        "{0}/myapps.html".format(get_app_vertical()),
        templatename=get_app_vertical(),
        user_info=user_info,
        config=session[SESSION_INSTANCE_SETTINGS_KEY],
        location=location,
        apps=get_apps_response,
        _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"])
Пример #7
0
def ecommerce_requests_post():
    logger.debug("workflow_requests_post()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    user_id = user["id"]
    if get_udp_ns_fieldname("access_requests") in user["profile"]:
        pendingRequest = user["profile"][get_udp_ns_fieldname(
            "access_requests")]
    else:
        pendingRequest = []

    if request.form.get("request_access"):
        group_id = request.form.get("request_access")
        if group_id not in pendingRequest:
            pendingRequest.append(group_id)

        # Remove user attribute organization ( as the request has been rejected)
        # organization": "[ '{id}' ]".format(id=request.form.get('location'))
        user_data = {
            "profile": {
                get_udp_ns_fieldname("access_requests"): pendingRequest
            }
        }
        test = okta_admin.update_user(user_id=user_id, user=user_data)
        print(test)
        ecommerce_emailWorkFlowRequest(group_id)

    return redirect(
        url_for("ecommerce_views_bp.ecommerce_requests_get",
                _external=True,
                _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"]))
Пример #8
0
def gbac_idverification_getverificationcode():
    logger.debug("gbac_idverification_bp")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    evidenttoken = ""

    basicauth = OktaUtil.get_encoded_auth("okta", "Ry4EZf8SyxKyStLK6BqxBBLXEW4SrIo6hc0m2rR3PoI")

    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": "Basic {0}".format(basicauth)
    }

    my_str = user["profile"]["email"]
    idx = my_str.index("@")
    email = my_str[:idx] + str(time.time()) + my_str[idx:]

    body = {
        "email": email,
        "templateId": "1ce55f4e-7bb2-4907-9643-dc61f1f04f4d"
    }

    response = RestUtil.execute_post(" https://verify.api.demo.evidentid.com/api/v1/verify/requests", headers=headers, body=body)
    evidenttoken = response["userIdentityToken"]
    user_data = {"profile": {get_udp_ns_fieldname("evident_id"): response["id"]}}
    okta_admin.update_user(user["id"], user_data)

    return evidenttoken
Пример #9
0
def gbac_idverification_isverified():
    logger.debug("gbac_idverification_isverified")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    verified_date = user["profile"][get_udp_ns_fieldname("last_verified_date")]
    return verified_date
Пример #10
0
def admin_temporarypasscode():
    logger.debug("admin_temporarypasscode()")
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])

    user_id = request.args.get('user_id')
    user = okta_admin.get_user(user_id)
    randcode = random_with_N_digits(6)

    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    listfactors = okta_admin.list_enrolled_factors(user_id)
    for factor_info in listfactors:
        if "question" in factor_info['factorType']:
            factor_id = factor_info['id']
            okta_admin.delete_factor(user_id=user_id, factor_id=factor_id)
            okta_admin.enroll_securityquestion(user_id,
                                               "favorite_security_question",
                                               str(randcode))
        else:
            okta_admin.enroll_securityquestion(user_id,
                                               "favorite_security_question",
                                               str(randcode))

    usersname = user["profile"]["firstName"] + " " + user["profile"]["lastName"]

    message = "{0} - MFA Security Question Set to 'Favorite Security Question'. Users new code is: {1}".format(
        usersname, str(randcode))

    return redirect(
        url_for("admin_views_bp.admin_usersadvanced",
                _external="True",
                _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"],
                message=message))
Пример #11
0
def ecommerce_approvals_get():
    logger.debug("workflow_approvals()")

    workflow_list = []
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    user_groups = okta_admin.get_user_groups(user["id"])

    user_get_response = okta_admin.get_user_list_by_search(
        'profile.{0} pr  '.format(get_udp_ns_fieldname("access_requests")))
    for list in user_get_response:
        for grp in list["profile"][get_udp_ns_fieldname("access_requests")]:
            group_get_response = okta_admin.get_group(id=grp)
            logging.debug(group_get_response)
            var = {
                "requestor": list["profile"]["login"],
                "request": group_get_response["profile"]["description"],
                "usr_grp": {
                    "user_id": list["id"],
                    "group_id": grp
                }
            }
            for clist in user_groups:
                if grp == clist['id']:
                    workflow_list.append(var)

    return render_template(
        "{0}/workflow-approvals.html".format(get_app_vertical()),
        templatename=get_app_vertical(),
        workflow_list=workflow_list,
        user_info=user_info,
        config=session[SESSION_INSTANCE_SETTINGS_KEY],
        _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"])
Пример #12
0
def profile():
        user_info = get_user_info()
        okta_admin = OktaAdmin(default_settings)
        user = okta_admin.get_user(user_info["sub"])
        user_group = get_travel_agency_group_by_user(user)
        app_info = okta_admin.get_applications_by_user_id(user["id"])

        return render_template("profile.html", oidc=oidc, applist=app_info, user_info=user_info, config=default_settings, travel_agency_group=user_group)
Пример #13
0
def userupdate():
    user_info = get_user_info()
    okta_admin = OktaAdmin(default_settings)
    user_id = request.args.get('user_id')
    user_info2 = okta_admin.get_user(user_id)

    user_group = get_travel_agency_group_by_user(user_info2)

    return render_template("userupdate.html", user_info=user_info, oidc=oidc, user_info2=user_info2, config=default_settings, travel_agency_group=user_group)
Пример #14
0
def ecommerce_registration_completion():
    logger.debug("ecommerce_registration_completion()")
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user_create_response = None
    user_data = {"profile": {}}
    logger.debug(user_data)
    logger.debug(request.form.get('guestUserId'))
    guestUserID = request.form.get('guestUserId')
    if guestUserID:
        user_data = okta_admin.get_user(request.form.get('guestUserId'))

    user_data["profile"]["email"] = request.form.get('email')
    user_data["profile"]["login"] = request.form.get('email')
    user_data["profile"]["firstName"] = "Guest"
    user_data["profile"]["lastName"] = "User"

    if "id" in user_data:
        user_create_response = okta_admin.update_user(user_id=user_data["id"],
                                                      user=user_data)
    else:
        user_create_response = okta_admin.create_user(user=user_data,
                                                      activate_user='******')

    logger.debug(user_create_response)

    if "id" not in user_create_response:
        error_message = "Failed to get a valid response from Okta Create User: user_data:{0} user_create_response:{1}".format(
            user_data, user_create_response)
        logger.error(error_message)

        return render_template("/error.html",
                               templatename=get_app_vertical(),
                               config=session[SESSION_INSTANCE_SETTINGS_KEY],
                               error_message=error_message)

    activation_link = ""
    if request.form.get('noemail').lower() == 'true':
        logger.debug("no email will be sent")
        activation_link = url_for(
            "gbac_registration_bp.gbac_registration_state_get",
            stateToken=user_create_response["id"],
            _external=True,
            _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"])
    else:
        logger.debug("email sent")
        ecommerce_email_registration(
            recipient={"address": request.form.get('email')},
            token=user_create_response["id"])

    return render_template(
        "ecommerce/registration-completion.html",
        email=request.form.get('email'),
        activationlink=activation_link,
        noemail=request.form.get('noemail').lower(),
        templatename=get_app_vertical(),
        config=session[SESSION_INSTANCE_SETTINGS_KEY],
        _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"])
Пример #15
0
def b2b_requests_get():
    logger.debug("b2bworkflow_requests_get()")

    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    user_id = user["id"]

    if get_udp_ns_fieldname("access_requests") in user["profile"]:
        pendingRequest = user["profile"][get_udp_ns_fieldname(
            "access_requests")]
    else:
        pendingRequest = []

    # On a GET display the registration page with the defaults
    applist = []
    list_group_full = []
    # Find the groups the user belongs to
    get_user_groups_response = okta_admin.get_user_groups(user_id=user_id)
    CONFIG_GROUP_B2B_STARTSWITH = get_udp_ns_fieldname("b2b")

    for item in get_user_groups_response:
        logging.debug(item)
        if item["profile"]["name"].startswith(CONFIG_GROUP_B2B_STARTSWITH):

            group_id = "{id}".format(id=item["id"])
            applist.append(item["profile"]["name"].replace(
                CONFIG_GROUP_B2B_STARTSWITH, ""))

    logging.debug(applist)
    get_groups = okta_admin.get_groups_by_name(get_udp_ns_fieldname(""))
    for item in get_groups:
        if item["profile"]["name"].startswith(CONFIG_GROUP_B2B_STARTSWITH):
            if item["profile"]["name"].replace(CONFIG_GROUP_B2B_STARTSWITH,
                                               "") not in applist:
                logging.debug(item["profile"]["name"])
                group_id = "{id}".format(id=item["id"])
                list_group_full.append({
                    "id":
                    item["id"],
                    "name":
                    item["profile"]["name"],
                    "description":
                    item["profile"]["description"],
                    "status":
                    "Pending"
                    if group_id in pendingRequest else "Not Requested"
                })

    return render_template(
        "{0}/workflow-requests.html".format(get_app_vertical()),
        templatename=get_app_vertical(),
        user_info=user_info,
        workflow_list=list_group_full,
        config=session[SESSION_INSTANCE_SETTINGS_KEY],
        _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"])
Пример #16
0
def get_travel_agency_group_by_user_info(user_info):
    print("get_travel_agency_group()")
    user_group = None

    if user_info:
        okta_admin = OktaAdmin(default_settings)
        user = okta_admin.get_user(user_info["sub"])
        user_group = get_travel_agency_group_by_user(user)

    return user_group
Пример #17
0
def gbac_create_update_page():
    logger.debug("gbac_create_update_page")
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user_id = request.args.get('user_id')
    user_info2 = okta_admin.get_user(user_id)

    return render_template("/manageusercreateupdate.html",
                           templatename=get_app_vertical(),
                           user_info=get_userinfo(),
                           user_info2=user_info2,
                           config=session[SESSION_INSTANCE_SETTINGS_KEY])
Пример #18
0
def developer_api():
    logger.debug("developer_api()")
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user_info = get_userinfo()
    user_info2 = okta_admin.get_user(user_info["sub"])
    production = user_info2["profile"][get_udp_ns_fieldname("production")]
    return render_template("developer/api.html",
                           user_info=user_info,
                           user_info2=user_info2,
                           production=production,
                           config=session[SESSION_INSTANCE_SETTINGS_KEY])
Пример #19
0
def gbac_userapps_mfa():
    logger.debug("gbac_userapps_mfa()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    app_info = okta_admin.get_applications_by_user_id(user["id"])

    return render_template("/userapps.html",
                           user_info=get_userinfo(),
                           templatename=get_app_vertical(),
                           config=session[SESSION_INSTANCE_SETTINGS_KEY],
                           applist=app_info)
Пример #20
0
def gbac_idverification_updateidentity():
    logger.debug("gbac_idverification_updateidentity")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])

    basicauth = OktaUtil.get_encoded_auth(
        "okta", "Ry4EZf8SyxKyStLK6BqxBBLXEW4SrIo6hc0m2rR3PoI")

    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": "Basic {0}".format(basicauth)
    }

    evident_id = user["profile"][get_udp_ns_fieldname("evident_id")]
    response = RestUtil.execute_get(
        "https://verify.api.demo.evidentid.com/api/v1/verify/requests/{0}".
        format(evident_id),
        headers=headers)
    now = datetime.datetime.now()
    # dd/mm/YY H:M:S
    verifydate = now.strftime("%d/%m/%Y %H:%M:%S")

    user_data = {
        "profile": {
            get_udp_ns_fieldname("last_verified_date"): str(verifydate)
        }
    }
    status = ""

    for item in response["attributes"]:
        status = item["status"]
        if status == "pending":
            break

        if item["type"] == "core.firstname":
            user_data["profile"]["firstName"] = item["values"][0]
        if item["type"] == "core.lastname":
            user_data["profile"]["lastName"] = item["values"][0]
        if item["type"] == "core.address.zipcode":
            user_data["profile"]["zipCode"] = item["values"][0]
        if item["type"] == "core.address.city":
            user_data["profile"]["city"] = item["values"][0]
        if item["type"] == "core.address.state":
            user_data["profile"]["state"] = item["values"][0]
    if status == "pending":
        return status
    else:
        logging.debug(user_data)
        okta_admin.update_user(user["id"], user_data)
    return response
Пример #21
0
def progressiveprofile_userprofile_bp():
    logger.debug("progressiveprofile_userprofile_bp()")

    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    userid = safe_get_dict(request.form, 'userid')

    user_response = okta_admin.get_user(userid)
    if "error" in user_response:
        message = "Error Getting Profile: " + user_response
    else:
        message = user_response

    return message
Пример #22
0
def credit_getmorecredit(app_id):
    logger.debug("credit_getmorecredit()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    app_info = okta_admin.get_applications_by_id(app_id)
    group_info = okta_admin.get_application_groups(app_id)
    group_id = group_info[0]["id"]
    user_id = user["id"]
    okta_admin.assign_user_to_group(group_id, user_id)
    app_url = app_info["settings"]["oauthClient"]["initiate_login_uri"]

    return redirect(app_url)
Пример #23
0
def resetpassword():
    user_info = get_user_info()
    okta_admin = OktaAdmin(default_settings)
    user_id = request.args.get('user_id')
    reset_password = okta_admin.reset_password_for_user(user_id)
    user_info2 = okta_admin.get_user(user_id)

    if not reset_password:
        message = "Password Reset for User " + user_info2['profile']['firstName'] + " "+  user_info2['profile']['lastName']
    else:
        message = "Error During Password Reset"

    return redirect(url_for("users", _external="True", _scheme="https",message=message))
Пример #24
0
def unsuspenduser():
    user_info = get_user_info()
    okta_admin = OktaAdmin(default_settings)
    user_id = request.args.get('user_id')
    unsuspend_user = okta_admin.unsuspend_user(user_id)
    user_info2 = okta_admin.get_user(user_id)

    if not unsuspend_user:
        message = "User " + user_info2['profile']['firstName'] + " "+  user_info2['profile']['lastName'] +  " Un-Suspended"
    else:
        message = "Error During Un-Suspension"

    return redirect(url_for("users", _external="True", _scheme="https",message=message))
Пример #25
0
def index():
    """ handler for the root url path of the app """
    print("index()")
    user = None
    modal_options = None
    state_token = request.args.get("stateToken")
    show_mfa_enroll = request.args.get("showMFAEnroll")
    show_bdv = request.args.get("showBDV")
    getNewTokenUrl = ""

    #print("state_token: {0}".format(state_token))
    #print("show_mfa_enroll: {0}".format(state_token))
    #print("show_bdv: {0}".format(state_token))

    session["current_title"] = "{0} | {1} Home".format(session["base_title"],
                                                       session["app_title"])

    if (state_token):
        print("User needs to set credentials and prove who they are")
        okta_auth = OktaAuth(session)
        token_state = okta_auth.get_transaction_state(state_token)
        print("token_state: {0}".format(
            json.dumps(token_state, indent=4, sort_keys=True)))

    # Get user Claims from Id Token for signed in display
    if ("token" in request.cookies and "id_token" in request.cookies):
        id_token_claims = get_claims_from_token(request.cookies["id_token"])
        if id_token_claims:
            if "sub" in id_token_claims:
                okta_admin = OktaAdmin(session)
                user = okta_admin.get_user(id_token_claims["sub"])
                # print("user: {0}".format(user))
                modal_options = get_modal_options(id_token_claims["sub"])

    if not user:
        getNewTokenUrl = get_oauth_authorize_url()

    response = make_response(
        render_template("index.html",
                        site_config=session,
                        user=user,
                        modal_options=modal_options,
                        state_token=state_token,
                        show_mfa_enroll=show_mfa_enroll,
                        show_bdv=show_bdv,
                        okta_widget_container_id="okta-login-container",
                        getNewTokenUrl=getNewTokenUrl))

    handle_invalid_tokens(session, response)

    return response
Пример #26
0
def ecommerce_profile():
    logger.debug("ecommerce_profile()")
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user_info = get_userinfo()
    user_info2 = okta_admin.get_user(user_info["sub"])
    factors = get_enrolled_factors(user_info["sub"])
    return render_template("ecommerce/profile.html",
                           id_token=TokenUtil.get_id_token(request.cookies),
                           access_token=TokenUtil.get_access_token(
                               request.cookies),
                           user_info=user_info,
                           user_info2=user_info2,
                           factors=factors,
                           config=session[SESSION_INSTANCE_SETTINGS_KEY])
Пример #27
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)
    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))
Пример #28
0
def credit_mycredit():
    logger.debug("credit_mycredit()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    app_all_info = okta_admin.get_applications_all()
    app_info = okta_admin.get_applications_by_user_id(user["id"])

    return render_template(
        "credit/mycredit.html",
        user_info=get_userinfo(),
        templatename=get_app_vertical(),
        config=session[SESSION_INSTANCE_SETTINGS_KEY],
        applist=app_info,
        applistall=app_all_info, _scheme="https")
Пример #29
0
def ecommerce_order():
    logger.debug("ecommerce_order()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    storefront = StorefrontFactory.getStorefrontProvider(
        session[SESSION_INSTANCE_SETTINGS_KEY]['settings'], user_info,
        TokenUtil.get_access_token(request.cookies), None)
    user = okta_admin.get_user(user_info["sub"])
    orders = storefront.getOrders()
    return render_template("ecommerce/order.html",
                           user=user,
                           user_info=get_userinfo(),
                           orders=orders,
                           config=session[SESSION_INSTANCE_SETTINGS_KEY],
                           _scheme="https")
Пример #30
0
def b2b_profile():
    logger.debug("b2b_profile()")
    user_info = get_userinfo()
    okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY])
    user = okta_admin.get_user(user_info["sub"])
    app_info = okta_admin.get_applications_by_user_id(user["id"])

    return render_template("{0}/profile.html".format(get_app_vertical()),
                           templatename=get_app_vertical(),
                           id_token=TokenUtil.get_id_token(request.cookies),
                           access_token=TokenUtil.get_access_token(
                               request.cookies),
                           user_info=get_userinfo(),
                           config=session[SESSION_INSTANCE_SETTINGS_KEY],
                           applist=app_info)