Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f76f30efcb689ec60174addc19d38b9150b67c69
      
https://github.com/WebKit/WebKit/commit/f76f30efcb689ec60174addc19d38b9150b67c69
  Author: Yury Semikhatsky <[email protected]>
  Date:   2026-08-18 (Tue, 18 Aug 2026)

  Changed paths:
    M Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestAuthentication.cpp

  Log Message:
  -----------
  [SOUP] An Authorization header set by the page is replaced by cached 
credentials
https://bugs.webkit.org/show_bug.cgi?id=322068

Reviewed by Michael Catanzaro.

nce an authentication challenge has been answered for a host, libsoup's
SoupAuthManager stamps the cached credentials onto every later request in that
protection space, replacing an Authorization header the page had set itself.
The Fetch standard uses the cached credential only "If httpRequest's header
list does not contain `Authorization`", and the Cocoa and curl ports already
behave that way.

Set SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE, libsoup's per-message opt-out, when the
request already carries an Authorization header. A challenge still reaches the
authentication handler and the retry authenticates as before.

Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestAuthentication.cpp

* Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::createRequest):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/glib/TestAuthentication.cpp:
(testWebViewAuthenticationPageProvidedAuthorizationHeader):
(serverCallback):
(beforeAll):

Canonical link: https://commits.webkit.org/319424@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to