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

  1. Attempt to log in using Kerberos on Chrome on Windows
  2. Get ERR_UNEXPECTED in the redirect from negotiate to callback
  3. 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

Assignee Loading
Time tracking Loading