无法使用pysnow验证凭据

问题描述 投票:0回答:1

我需要验证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块,但我作为输出有效。我需要验证凭据是否有效

python servicenow
1个回答
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')
© www.soinside.com 2019 - 2024. All rights reserved.