OAuth is an open standard for authorization. It allows Maltego users to log into third-party providers with their credentials and have an access token returned to the tool. This access token can then be sent to the Transform which in turn can request information from the provider on behalf of the end-user.
Within the TDS there are two types of providers that can be added:
A new provider – one that has not yet been seen before on this server (and likely within your client).
A previously used provider – one that has been used previously in the tool, in which case, you can re-use the access token.
OAuth within the Maltego Client
Within the Maltego client, the OAuth providers can be found under the Transforms tab by clicking on the "Manage Services" button:
After clicking on that button you will be presented with the Service Manager panel that describes the available OAuth providers configured as well as the ability to login and logout of the various providers:
Within the application, if any transforms require OAuth tokens, you will be prompted to login before the transform is run.
If the OAuth Application is configured to use a Callback Port other than 63141, then the port should be manually configured in the Service Manager.
Configuring the OAuth providers
The OAuth settings required for a provider are as follows:
- Authenticator name - This is the overall OAuth provider name.
- Description - A description of the OAuth provider, something like "LinkedIn Provider".
- Version - Which version of OAuth is used, the currently supported versions are OAuth 2.0 and OAuth 1.0a.
- Access token endpoint - The endpoint that the Maltego client will request for the access token.
- Request token endpoint - The endpoint that the Maltego client will send the user to for application approval.
- Authorization URL - URL used by the client to approve/grant access tokens.
- Application/API key - API or Application key that the developer is issued from the provider.
- Application/API secret - API or Application secret/private key that the developer is issued from the provider.
- Icon - Base64 of the 64x64 pixel Icon to be used within the Maltego client application.
- Access token variable name - The variable name used within the transforms (this is what the transform will receive).
- Variable description - Simply describes the variable used.
- Public Key - The public key used to encrypt the access token when it is sent to the transform code itself.
Most OAuth 2.0 Providers require a Call back URL to be included as an URL parameter in one or all of the endpoint URLs. Please refer to the applicable API or OAuth provider documentation for URL parameter requirements.
To ensure that the Maltego Desktop Client uses the correct Call back URL, please specify the protocol and TCP port in the Service Manager configuration for the applicable provider. This is an additional setting that the Maltego Desktop Client user needs to apply before attempting to log into the OAuth Service Endpoint.
Ensure that you provide your user with the correct setup information.
Please refer to Managed Services for instructions on how to configure this in the Maltego Desktop Client.