Helpful Hints to Authenticating Your APIs
We brought out the big guns in the way of our Development Team Lead, Kent Gividen, in a webinar all about authenticating your APIs. He went over some of his most useful tips and tricks that he uses to ensure APIs are authenticated. Was it helpful? You betcha. You wanna get the SparkNotes? Read on.
Common and Not-So-Common APIs to Know About
Kent began by outlining the APIs that he has run into the most in his years as a developer. Some of them he dug into a little deeper than others, but these are all useful to be aware of.
- REST
- XML
- JSON
- SOAP
- XML
- WSDL
- RPC
- Proprietary
- Socket
For the rest of the session he focused on the REST APIs as those are the most common from an HTTP perspective.
Advantages between API and SDK
You can work with APIs raw, and there are benefits to doing so. However, you may find that using an SDK is much easier.
With an SDK you’ll most likely experience a faster startup, you can use one that is code specific, and there may be features built in such as multi-threading, batch modes, and more. You can see a list of Smarty’s SDKs here.
With a raw API you’ll get much more control over how it is implemented, even if that makes your setup a little more tedious. You’ll also be able to use any code base supporting HTTP, which is basically all of them.
Different Types of Authentication
The key to authentication is security. Keeping that in mind you’ll want to know the difference between Embedded keys, which is client side and mobile app focused, or Secret keys which is using a server side key that you do not want to share with people.
You can also use the increasingly popular OAuth, but Kent didn't cover that too deeply. But essentially it’s allowing you to use your login for some services on other services, like logging in with your Google account.
Other Considerations
When you’re using an API you’ll want to make sure you’re using HTTPS with TLS for encryption. You may also want to consider rate limiting. Other things that are becoming more common are nonce, or expiring keys, and proxy servers for additional off-site security. You can pick from several different proxy server options including HA Proxy, Auth0, Okta, etc. This will help you provide an API to your customer that is secure.
Tips and Tricks for Testing Authentication
Kent went through several different tips and tools that he uses to authenticate his APIs. He dives into detail in the recording, but we’ll list a few of them here:
- curl
- postman
- SoapUI
- Use environment variables for config files
- shell / command line
- st / sd / sl
He gave examples of many of these so if you’re curious about any of them you can check out the 6:40 mark in the recording.
Try It Yourself
The latter half of the webinar was filled with fantastic examples and demonstrations of the different ways to authenticate APIs. This is difficult to represent in text, so you’ll probably just want to watch the recording below.
However, if you’d like to try setting up some address validation via an API, you can check 1,000 addresses for free by signing up for a free trial of the Smarty tools, and you can use the API—or any of our SDKs—even on those 1,000 lookups!