示例#1
0
def addFirstUser(userObj):
    try:
        #Set salt'n hashed password
        if 'password' in userObj:
            password = userObj['password']
            #Do not store private user password
            del userObj['password']
            userObj['salt'] = crypt_ops.get_a_bunch_of_salt()
            userObj['hashed_pwd'] = auth.get_hashed_password(password, userObj['salt'])

        #generate a base 64 uuid type 4
        #http://stackoverflow.com/a/786541/1747721
        userObj['userid'] = crypt_ops.get_base64_uuid4()

        #Save new user into "User" schema
        Users(
            name        = userObj['name'],
            username    = userObj['username'],
            salt        = userObj['salt'],
            hashed_pwd  = userObj['hashed_pwd'],
            priv_lev    = userObj['priv_lev'],
            userid      = userObj['userid'],
            email       = userObj['email'],
            isdefault   = userObj['is_default'],
            tokens      = []
        ).save()
        r_obj = exclude_fields(userObj)
        return r_obj
    except Exception as e:
        raise StandardError(e)
示例#2
0
def create_token(userid):
    token_obj = {
        'time': time.time(),
        'userid': userid,
        'uuid': crypt_ops.get_base64_uuid4()
    }
    json_token = str(json.dumps(token_obj))
    token = base64.urlsafe_b64encode(json_token)
    return token
示例#3
0
def addUser(userObj):
    try:
        if userObj['is_default']=="true" and not userObj['priv_lev'] == "2":
            return "err", "UNABLE_TO_STABLISH_DEFAULT_TO_NON_ADMIN"
        #Set salt'n hashed password
        if 'password' in userObj:
            password = userObj['password']
            #Do not store private user password
            del userObj['password']
            userObj['salt'] = crypt_ops.get_a_bunch_of_salt()
            userObj['hashed_pwd'] = auth.get_hashed_password(password, userObj['salt'])
        #generate a base 64 uuid type 4
        #http://stackoverflow.com/a/786541/1747721
        userObj['userid'] = crypt_ops.get_base64_uuid4()
        try:
            #Remove default from current user who has this token
            if userObj['is_default']=="true":
                remove_default_to = Users.objects(isdefault='true').update(
                    set__isdefault = "false"
                )
        except Exception as e:
            pass
        try:
            #Save new user into "User" schema
            Users(
                name        = userObj['name'],
                username    = userObj['username'],
                salt        = userObj['salt'],
                hashed_pwd  = userObj['hashed_pwd'],
                priv_lev    = userObj['priv_lev'],
                userid      = userObj['userid'],
                email       = userObj['email'],
                isdefault   = userObj['is_default'],
                tokens      = []
            ).save()
            return "ok", userObj
        except Exception as e:
            raise StandardError(e)
    except Exception as e:
        raise StandardError(e)