ServiceNow / PySNC

Python API for ServiceNow
MIT License
91 stars 28 forks source link

Add key and hmac auth support #98

Open vetsin opened 9 months ago

vetsin commented 9 months ago

e.g.

secret = b'it would go here'

request = requests.Request(
    'POST', 
    'https://theinstance.service-now.com/api/now/table/incident',
    json={'short_description':'test'}
)
prepped = request.prepare()
signature = hmac.new(secret, prepped.body, digestmod=hashlib.sha256)
encoded_sig = base64.standard_b64encode(signature.digest()).decode()
prepped.headers['x-sn-hmac-signature-256'] = f"keyId=test_secret,signature={encoded_sig}"
print(prepped.headers)

with requests.Session() as session:
    response = session.send(prepped)
    print(response.status_code)
    print(response.text)

The other is more simply ['x-snc-api-key'] = 'key' or whatnot