Пример #1
0
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))
Пример #2
0
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