Azure Storage: 403 Server failed to authenticate the request

16,046

This was also reported on our GitHub page here: https://github.com/Azure/azure-storage-net/issues/171

Our leading theory is that a caching proxy might be in between the client and the server affecting your requests.

We're still investigating and will let you know.

Share:
16,046
Stefano
Author by

Stefano

Updated on July 20, 2022

Comments

  • Stefano
    Stefano almost 2 years

    I've search here and in Google but I can't find a solution.

    With my C# code I want to read a file from Azure Storage Blob. The code (only 6 line) works very well in another project (Windows 8.1 Universal App) but not in my new Windows 10 UWP App.

    This is my code:

    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(azureConnectionString);
    CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
    CloudBlobContainer container = blobClient.GetContainerReference("container-name");
    
    CloudBlob b1 = container.GetBlobReference("27.76914.json");
    StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("stefano1.json", CreationCollisionOption.ReplaceExisting);
    await b1.DownloadToFileAsync(file);
    

    The Exception:

    Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

    Using Fiddler4 I found this error on message 403:

    The MAC signature found in the HTTP request 'R2t9hKsyXf470HF2LNP8T+M2nci0ddE/ojQ0r4UVjJQ=' is not the same as any computed signature

    My attempts:

    1. The application works the first time (file downloaded). The second time I get the Exception.
    2. If I change the requested file name: the application works the first time (file downloaded). The second time I get the Exception.
    3. The next day I get immediately the same exception (at first run)
    4. Also if I delete bin and obj folders I get the error
    5. If I create another application and try to download the same file (same as point 1), it works the first time, but not the second.
    6. In a Console Application all works well.

    This is the Fiddler4 Raw Request (where ***** is my Azure Storage Account Name):

    GET https://*****.blob.core.windows.net/container-name/27.76914.json HTTP/1.1
    x-ms-client-request-id: accee7e7-646d-417a-b734-1591cbc16a8d
    x-ms-date: Thu, 03 Sep 2015 06:31:37 GMT
    x-ms-version: 2015-02-21
    User-Agent: WA-Storage/5.0.2 (Windows Runtime)
    Authorization: SharedKey *****:R2t9hKsyXf470HF2LNP8T+M2nci0ddE/ojQ0r4UVjJQ=
    Host: *****.blob.core.windows.net
    If-Modified-Since: Sun, 30 Aug 2015 18:52:41 GMT
    If-None-Match: "0x8D2B16C2ED82C4A"
    Connection: Keep-Alive
    

    Thank you!

  • Peter Marino - MSFT
    Peter Marino - MSFT over 8 years
    Overall, we don't actually support Windows 10 Universal apps yet which is why we don't have much information yet. :)
  • Stefano
    Stefano over 8 years
    Thank you Peter, I had not seen that page. I hope you will find a workaround.
  • Peter Marino - MSFT
    Peter Marino - MSFT over 8 years
    Okay, so I can confirm now that there’s some sort of caching mechanism at play in the UWP code that is happening even when the connection is using HTTPS. We’ll have to investigate more but this is probably going to have to require some sort of code change for us – unfortunately, this will likely mean this is going to fall under the umbrella of “UWP is not currently supported” in the immediate term. Hopefully we can determine the issue and come up with a fix for an upcoming release. Thanks again for the bug report.
  • SWilko
    SWilko over 8 years
    Hi @PeterMarino-MSFT is there any update on this problem with UWP as I'm getting exact same error. thanks
  • GGleGrand
    GGleGrand over 8 years
    Looks like I've run into the same problem stackoverflow.com/questions/34594757/… Funny thing is, that it was working for a while, and then just quit: tell me which cache it is :-)! ... so I can delete it and make it work again. No, seriously, I'd be very appreciative of a fix or definitive answer here. If not fixable, then I'll have to rip a lot of storage lib code out...
  • Peter Marino - MSFT
    Peter Marino - MSFT over 8 years
    It's not our cache. It's a bug in the UWP code. Can you tell us which version of our library you're using?
  • Peter Marino - MSFT
    Peter Marino - MSFT over 8 years
    That's a little different, but thanks for the suggestion! HTTPS is always recommended.