There are several different mechanisms that can be used to provide security for your API and portal. Below are the options for security relating to the Proxy.
- SSL – client/server
- Shared secret
- OAuth 1.0a/Oauth 2.0
(Secure Socket Layers) can be utilized to encrypt traffic over the internet. There are two different use cases for SSL with regard to your API. Adding SSL to the segment of the API call between the Mashery Proxy and your Endpoint is included for all levels of the Mashery API service, there is no additional cost. We will self-sign a certificate and provide you with the key and certificate to install on your server.
Client facing SSL, allowing users to submit via HTTPS rather than HTTP is available though not included in any of the offerings. Client side SSL will result in a recurring monthly fee. In order to do client side SSL you will need to provide us with the SSL key and SSL certificate for Mod/SSL or openSSL.
If you choose to allow only Mashery Proxied traffic through to your servers we recommend an IP whitelist as a simple solution. The following list contains the Mashery Traffic Manager IP addresses for all regions as well as monitoring IP addresses/Regions that Mashery uses to monitor your Direct API.
If IP whitelisting will be enforced on the API backend, please whitelist the IP addresses for the Traffic Manager and selected regions for the monitoring service. The whitelist information is subject to change. When such changes occur, Mashery Support will notify and work with you to get your whitelist updated. Previous versions of the IP List can be found at http://support.mashery.com/docs/proxy_information/Archived_IP_Whitlisting_Information/.
IP Whitelist Version 4.1 (3/28/2013)
Notes: No updates to core Traffic manager IP addresses. Updates specific to IP monitoring hosts noted below.
Traffic Manager IPs:
Premium Platform IPs (NOTE: network blocks)
22.214.171.124/27 Los Angeles
126.96.36.199/27 Hong Kong (Will be decommissioned 3/18/2013)
188.8.131.52-159 Australia (Will be decommissioned 3/18/2013)
Enterprise Platform IPs (US-East)
184.108.40.206/25 (Added 2/15/2013. Reserved for future use, does not impact current customers but please add if you are a new customer)
Enterprise Platform IPs (US-West)
220.127.116.11 (Added 2/15/2013. Reserved for future use, does not impact current customers but please add if you are a new customer)
Enterprise Platform IPs (Europe)
Enterprise Platform IPs (Australia) - Added 2/15/2013
Enterprise Platform IPs (Singapore) - Added 2/25/2013
Monitoring Server regions (please whitelist all IPs within a selected region):
Mashery supports Shared Secrets. Shared secrets can be set to be automatically assigned to users receiving keys via the Mashery service. By default the shared secret is hashed with the current time (GMT) allowing for 5 minutes of clock drift. Through the use of Custom Adapters which we have built in to the system Mashery can support virtually any kind of authentication request utilizing Shared Secrets and signatures.
OAuth 1.0a / OAuth 2.0
We offer an OAuth accelerator so you can add OAuth to your API with very little effort or cost. OAuth allows a user to designate access to his data to a third party while protecting his credentials. The authorization token can be revoked at any time.
Mashery can handle two different approaches to OAuth.
- Mashery OAuth Accelerator. Mashery acts as the token provider. Our Client creates a page on their system which allows a user to allow or revoke access to their data. Our Client then uses Mashery's API to create or revoke access for a particular site. Mashery handles the authentication of calls. This path requires that the Client do very little to implement OAuth and can focus on their core business.
- Client implemented OAuth. Some clients may wish to handle OAuth on their own, in this case the OAuth call looks just like any other API call being made through the proxy. The client must create the system to create and manage OAuth tokens as well as authenticate calls.
Some clients prefer to not shut off access at the edge of their network using whitelists, but would rather control access on a call by call basis. By adding an http challenge to your application/webserver you will be able to allow access to users with the correct credentials. Mashery can easily add the appropriate username/password pair to all calls made to your Direct API.
- Support Documentation Portal
- Mashery API Documentation
- Mashery 2.0 API Guide
- API Sandbox
- JSON RPC
- API Objects
- Fetching Objects
- Query Language
- Creating Objects
- Updating Objects
- Validating Fields
- Deleting Objects
- General Object Methods
- Plan Services
- Plan Endpoints
- Plan Methods
- Plan Filters
- Package Keys
- Developer Classes
- Defining Methods
- Service Definitions
- Service Definition Endpoints
- Service Definition Methods
- Service Definition Response
- Mashery 2.0 Reporting API Guide
- Mashery 1.0 API Guide
- Mashery 2.0 API Guide
- Tips and Tricks
- Customizing Your Portal
- API Traffic Manager