无法使用pysnow验证凭据

时间:2019-03-26 14:02:02

标签: python servicenow

我需要验证servicenow登录凭据是否正确。 我正在使用pysnow

def validate_conn(self, data):
    instance = data['url']
    user = data['uname']
    password = data['pwd']
    try:
        pysnow.client.Client(instance=instance, host=None, user=user, password='xfgdfgdf', raise_on_empty=None,
                             request_params=None,  session=None)
        print("valid")
    except:
        print("invalid")
    return data['pwd']

在上面的代码中,我提供了无效的密码,因此必须进入except块,但我的输出才有效。我需要验证凭据是否有效

1 个答案:

答案 0 :(得分:0)

ServiceNow Web服务API不提供验证凭据的机制。从Web服务客户端验证凭据的一种方法是尝试读取您知道的记录。必须存在的一条记录是您来自sys_user的用户记录。

以下代码尝试从sys_user中读取您自己的用户记录。如果您无法读取此记录,那么一定有问题。

try:
    client = pysnow.Client(instance=instance, user=user, password=password)
    response = (client
        .resource(api_path='/table/sys_user')
        .get(query={'user_name': user})
        .one())
    print('credentials are valid')
except:
    print('credentials are not valid')