In the end, we went with the following ....
Salt known in the application Username Current date / time + 5 seconds
combine the above in a specific order as a string and an MD5 hash.
We have a special URL that can be used with a hash as a query string parameter.
We compare the hash with 5 hashes generated during the request (one for the current second and one for each of the previous 4 seconds). If the hash in the QS parameter matches one of these 5 hashes, then we accept the request and perform the appropriate actions.
API, URL- . API URL . , 5 URL-, .
, , 5 .
" " API. URL- ( ), - URL-. URL- , , , cookie .
, , API SSL, .