Kerberos authentication through HTTP/2 failing on Chrome on Windows
Summary
When first attempting to log in using Kerberos, Chrome will throw an ERR_UNEXPECTED error. This seems related to this Chrome bug however it happens on the latest Chrome version as well. It looks like the issue is with the endpoint using HTTP/2.0 and getting downgraded to HTTP/1.1, the combination of protocol downgrading and the authentication negotiation seem to throw that error, however the second time it retries on HTTP/1.1 directly and it works then (likely due to the browser caching the protocol downgrade, after the browser is restarted, the problem happens again).
To confirm this assumption, the login works successfully when Chrome is started with the --disable-http2 flag.
Steps to reproduce
- Attempt to log in using Kerberos on Chrome on Windows
- Get ERR_UNEXPECTED in the redirect from
negotiatetocallback - Go back and retry logging in successfully
Example Project
N/A
What is the current bug behavior?
Kerberos login fails on the first try with an ERR_UNEXPECTED error in Chrome on Windows.
What is the expected correct behavior?
Login should succeed without ERR_UNEXPECTED errors.
Relevant logs and/or screenshots
N/A - version tested 12.0.3 though
Possible fixes
Wondering if we can force the protocol downgrade on /users/auth/kerberos_spnego/* paths, or is it strictly something that needs to be revisited in the Chromium engine