Azure Storage authentication [sigh]

2008-12-04 @ 22:01#

ok, i finally got around to digging into the Azure Storage API and that means dealing with Azure authentication schemes for the HTTP calls. in a word: sheesh!

first, no support for standard HTTP Auth (Basic or Digest): bad.

second, Azure storage uses *three* different hash patterns depending on the type of storage you are accessing -and- the type of SDK you are using to access that storage. Srsly? if i use the ADO.NET library i can use the SharedKeyLite and one hashing pattern. otherwise, i need to use the SharedKey and another hashing pattern. but that's only if i want to access the Azure Tables. if i want to access Blobs or Queues, i *must* use only the SharedKey with a another hashing pattern. geez.

and to put a big cherry on the whole thing, all the patterns include at least one additional custom x-ms- header (a date/time value) and hashing the value of that header into the Authorization header. good grief!

so, as it stands, i see no way to use common tools (common browsers, cUrl, wGet, WFetch, etc.) to make calls to Azure Storage; i'll always have to use custom-built code. code that must generate a brand new custom Authorization header for. each. and. every. request.

sigh...

sure hope this is worth it.

Azure