Windows Authentication Still Broken When Using Safari in iOS 7.1

When Apple released iOS 7 last fall, Windows Authentication no longer worked when using Safari. And even though they've released a few updates to the operating system since then, Windows Authentication is still broken when using Safari (Chrome on iOS was unaffected and has been working fine in iOS 7). This seems to just affect requests made from client-script, as making a request to a website that uses Windows Authentication still prompts you for your credentials and works fine for any non-AJAX requests.

Here are two lines from an IIS log showing the same request. The first is from a Safari on iPad and was unsuccessful, the second is from Chrome on iPad and worked fine. Notice the 401 response on the unsuccessful request, due to the missing username (which is visible in the 2nd request). The IP address has been obfuscated for these examples.

Unsuccessful (username missing): 
2014-03-20 15:38:01 POST /Orders/UploadAttachment/2 - 80 - Mozilla/5.0+(iPad;+CPU+OS+7_1+like+Mac+OS+X)+AppleWebKit/537.51.2+(KHTML,+like+Gecko)+Version/7.0+Mobile/11D167+Safari/9537.53 401 0 0 0

Successful (username provided):
2014-03-20 15:39:59 POST /Orders/UploadAttachment/28 - 80 BBANNER Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.22+(KHTML,+like+Gecko)+Chrome/25.0.1364.172+Safari/537.22 200 0 0 265


Popular Posts

How To Mock Out Child Components In Unit Tests of Angular 2 Code

A Generic Method Using HttpClient to Make a Synchronous Get Request

The Cause and Solution for the "System.Runtime.Serialization.InvalidDataContractException: Type 'System.Threading.Tasks.Task`1[YourTypeHere]' cannot be serialized." Exception

Unit Testing with a Mock Entity Framework DbContext and Fake DbSets

A Red Herring When Using Moq to Mock Methods With Optional Parameters