Requesting Client Credentials
To utilise the IX-API for any of the following you shall need client credentials.
Cloud Access Port
Setup and required properties
To setup external user authentication we would require the following details:
Account Name - the account name you have been assigned for your organisation.
Description of use - this is the description of how you will use the client credentials
Client id - the client id you want to use for your application
Optional - Access token expiry: resembles the concept of a physical token or ticket. It gives the holder access to a specific HTTP resource or web service, which is typically limited by scope and has an expiration time. Default: 1 hour.
Please email PortalDevelopers@interxion.com with the above information as per the example email below.
Example email to send
From: firstname lastname <another@interxion.com>
Sent: 24 November 2021 05:55
To: PortalDevelopers <PortalDevelopers@interxion.com>
Cc:
Subject: Request for IX-API Client Credentials
Dear PortalDevelopers,
Salesforce Account Name: Test Company Parent
Description: To use IX-API to order Cloud Access Ports
Client id: Jupiter-12
Access token expiry: 30 minutes
Regards,
<First name>
Receive client authentication details
You will receive the following details in two separate emails.
Email 1 shall contain
&client_id = a unique name/id for identifying your application in the Identity Provider.
Email 2 shall contain
&client_secret = Keep it in a safe place to use it during your application authentication.
Example cURL to retrieve token
The endpoint for acquiring a token is:
Acceptance: Shall be shared in emails described above.
Production: Shall be shared in emails described above.
This is an example cURL
curl --location --request POST '{{login-url}}/connect/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<Your Client Id>' \
--data-urlencode 'client_secret=<Your Client Secret>'And this is an example response body
{
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkI0RkFBMTA5RDI1N0VEMDREQ0M2MzhGQTAzMEUxNDQ0MDY...",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "List of scopes"
}