Невозможно проверить учетные данные, используя pysnow - PullRequest
0 голосов
/ 26 марта 2019

Мне нужно проверить, правильны ли учетные данные для входа в систему или нет. Я использую 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']

В приведенном выше коде я дал неверный пароль, поэтому он должен прийти к блоку кроме, но я получаю в качестве вывода. Мне нужно проверить, если учетные данные действительны или нет

1 Ответ

0 голосов
/ 03 апреля 2019

API веб-служб ServiceNow не предоставляет механизм проверки учетных данных. Один из способов проверки учетных данных от клиента веб-служб - попытка прочитать запись, которая, как вы знаете, существует. Одна запись, которая должна существовать, это ваша собственная запись пользователя из 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')
...