Hi All,
We are using Utility Function REST API to call the Zscaler API from Resilient but we are getting 400 Authentication error.
Credentials are working correctly when we are calling API from Postman. Please let us know how to fix this issue. Attached is the code inside playbook task and error we are facing.
Thanks.
#####Code
import json
import time
def obfuscateApiKey():
seed = 'XXXXXXXXXXX'
now = int(time.time() * 1000)
n = str(now)[-6:]
r = str(int(n) >> 1).zfill(6)
key = ""
for i in range(0, len(str(n)), 1):
key += seed[int(str(n)[i])]
for j in range(0, len(str(r)), 1):
key += seed[int(str(r)[j])+2]
return now,key
now , key = obfuscateApiKey()
content = json.dumps({'username':'
admin@example.com','password':'password1234567','apiKey': key ,'timestamp':now})
inputs.rest_method = "POST"
inputs.rest_url = "https://zsapi.zscaler.net/api/v1/authenticatedSession"
inputs.rest_headers = '''
Content-Type:application/json,
Cache-Control:no-cache,
X-Frooble:Baz
'''
inputs.rest_body = content
inputs.rest_verify = True
####Error status
The playbook was terminated by the system due to a function error.
Traceback (most recent call last):
File "/opt/app-root/lib/python3.6/site-packages/resilient_lib/components/requests_common.py", line 197, in execute
response.raise_for_status()
File "/opt/app-root/lib/python3.6/site-packages/requests/models.py", line 960, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: for url:
https://zsapi.zscaler.net/api/v1/authenticatedSessionDuring handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/app-root/lib/python3.6/site-packages/fn_utilities/components/utilities_call_rest_api.py", line 58, in _call_rest_api_function
headers_dict, cookies_dict, rest_body, rest_verify, rest_timeout)
File "/opt/app-root/lib/python3.6/site-packages/fn_utilities/components/utilities_call_rest_api.py", line 116, in make_rest_call
timeout=rest_timeout)
File "/opt/app-root/lib/python3.6/site-packages/resilient_lib/components/requests_common.py", line 205, in execute
raise IntegrationError(msg)
resilient_lib.components.integration_errors.IntegrationError: '400 Client Error: for url:
https://zsapi.zscaler.net/api/v1/authenticatedSession
------------------------------
Shubham Agarwal
------------------------------