iOS Safari 18.4/18.5 with IIS Windows Authentication with negotiate hangs after entering credentials

I don't think the issue is specific iOS 18.

We have a web application that runs with IIS Authentication of Windows and Anonymous. Initially the app opens and the user clicks a button and triggers the "401 Challenge" via ASP.NET. The browser presents the Active Directory login, user enters credentials, clicks Sign In, and the browser hangs (may actually be negotiating something). After a few minutes the user is logged into the application.

We have done a number of google searches/AI to try to determine what to change and there is no clear solution. Is there anything else to try?

This problem is not seen in Chrome on iOS or on a Windows machine. Strangely it is also not seen using BrowserStack with one of their "real" devices.

We have other apps that run with just Windows Authorization and this problem is not observed.

Apparently this issue didn't happen with iOS 17.4.

We are also seeing this issue with our ASP.NET/IIS web application that has Windows and Anonymous authentication enabled. This issue seems to be the same as the one reported on GitHub here https://github.com/dotnet/aspnetcore/issues/57918.

We see in the IIS logs that for each request we receive the 401 response with the WWW-Authenticate header in milliseconds but then Safari does not re-send the request with the Authorization headers for about two minutes. Once that request is sent, the web server responds within milliseconds. The pages of our web application require several requests to the web server and thus take minutes to load whereas in previous versions of Safari or current versions of Edge and Chrome on the same device using the same user and web server, the pages load quickly (seconds).

We have reproduced this internally with the following versions:

  • Safari 18.3 on Mac OS Sequoia 15.3.1
  • Safari 18.5 on Mac OS Sequoia 15.5
  • Safari 18.5 on iPad iOS 18.5

For now we have found that we can work around the issue by either disabling Anonymous authentication or switching to Basic authentication.

iOS Safari 18.4/18.5 with IIS Windows Authentication with negotiate hangs after entering credentials
 
 
Q