Our current RESTFul api has a 2-step process of authenticating and authorizing a Request:
1) We use JwT bearer token authentication (integrated with Identityserver 3) and we have implemented custom authorization using the database. All this over Https.
2) Next, we also have an IP address check, where we check the IP address of the incoming request and match it against a list of whitelisted IP addresses that we maintain.
Now, we are trying to get rid of the IP address way of doing the second level check and replace it with another way.
MY question is: Is HMAC a good candidate for that second level check? I am kind of hesitating as we already have the token authentication in place and so, was not sure if HMAC way of second level check will add any value to this, as a second level check. Also, was not sure how we can send both a token as well as a HMAC string as part of an Authentication header.
Can you also please let me know what are some of the good substitutes for IP address validation, as a second level check when we build a RESTful web api.
Thanks in advance!
-Ramp