You can use the API tokenization feature (Python) in the Armor Management Portal (AMP) to create an API key. This key will help you log into the Armor API system.
Step 1: Create an API key
Error rendering macro 'excerpt-include' : No link could be created for 'ESLP:Create an API (snippet)'.
Step 2: Authenticate into the Armor API system
To authenticate, you need to build a header with the following components:
Parameter | Description |
---|---|
app_id | Enter the Key ID generated from AMP. |
secret_key | Enter the Secret Key generated from AMP. |
request_path | |
http_method | Enter POST. |
timestamp | Enter a Unix time stamp within 5 minutes of the current time. |
nonce | Enter a unique ID.
|
For all v2 API's, the request body should be empty.
Review sample code for Python 2.7.13 (Post Request):
def post_requests_apiKey_payload(self, path = "/example/anywhere/", body = ): app_id = "<api_key_id>" secret_key = "<secret_key>" request_path = urlparse.urlparse(path).path http_method = "POST" timestamp = int(time.time()) nonce = uuid.uuid4() hash_obj = hashlib.sha512(json.dumps(body)).digest() request_body = base64.b64encode(hash_obj) content = (app_id, http_method, request_path, str(nonce), str(timestamp), request_body) request_data = ''.join(content) mc = hmac.new(secret_key, request_data, hashlib.sha512) signature = base64.b64encode(mc.digest()) auth_header = "ARMOR-PSK " + str(app_id) + ':' + str(signature) + ':' + str(nonce) + ':' + str(timestamp) request_header = { 'Content-Type': 'application/json', "Authorization": auth_header } response = requests.post(self._url(path), data=json.dumps(body), headers=request_header) print (response.status_code) return response
Review sample code for Python 3.6.5 (Post Request):
def _post_requests_apiKey_payload(self, path="/example/anywhere", body = ): app_id = "<api_key_id>" secret_key = "<secret_key>" request_path = urlparse(path).path http_method = "POST" timestamp = int(time.time()) nonce = uuid.uuid4() hash_obj = hashlib.sha512(bytes(json.dumps(body), 'utf-8')) request_body = base64.standard_b64encode(hash_obj.digest()) content = (app_id, http_method, request_path, str(nonce), str(timestamp), request_body.decode()) request_data = ''.join(content) mc = hmac.new(bytes(secret_key, 'utf-8'), bytes(request_data, 'utf-8'), hashlib.sha512) signature = base64.standard_b64encode(mc.digest()) auth_header = "ARMOR-PSK " + str(app_id) + ':' + str(signature.decode('utf-8')) + ':' + str( nonce) + ':' + str(timestamp) request_header = { 'Content-Type': 'application/json', "Authorization": auth_header } response = requests.post(self._url(path), data=json.dumps(body), headers=request_header) print (response.status_code) return response
Step 3: Make an API Call
To learn about the different calls that you can make, see Armor API Guide.
Related Documentation
- To learn about the different calls that you can make, see Armor API Guide.
- To learn how to create an API key or to learn a different way to access the Armor API system, see Pre-Shared Key Authentication Method.