Skip to content

Intermittent ERR_HTTP2_PROTOCOL_ERROR causing "Failed to fetch" across multiple IDX endpoints in Sign-In Widget #3963

@kalingabandara-yl

Description

@kalingabandara-yl

Describe the bug

Bug Description

We are experiencing intermittent HTTP/2 transport-level failures during the Okta IDX authentication flow when using the Okta Sign-In Widget.

The issue is not limited to a single endpoint. We have observed the same error occurring on multiple IDX calls, including:

When the issue occurs, Chrome reports:

  • net::ERR_HTTP2_PROTOCOL_ERROR

The Sign-In Widget then displays a generic "Failed to fetch" error.

Importantly, no HTTP status code (4xx/5xx) is returned. The failure appears to occur before a valid HTTP response is received, suggesting the issue happens at the HTTP/2 transport layer rather than the application layer.

The issue is intermittent and resolves on page refresh or retry.

Key Observations

  1. The issue occurs across multiple IDX endpoints (identify, challenge/poll, challenge/answer).
  2. The failure happens before any HTTP status code is received.
  3. The issue is intermittent and not consistently reproducible.
  4. Disabling HTTP/2 in Chrome (via --disable-http2) completely eliminates the issue.
  5. When HTTP/2 is disabled, the flow works reliably without any failures.

Based on this behavior, it appears that the issue may be related to HTTP/2 stream handling or connection reuse behavior affecting IDX endpoints.

Image

Reproduction Steps

Reproduction Steps

  1. Open application login page using Okta Sign-In Widget.
  2. Proceed through the authentication flow.
  3. Observe network requests to: /idp/idx/identify /idp/idx/challenge/poll /idp/idx/challenge/answer
  4. Intermittently, one of these requests fails with: net::ERR_HTTP2_PROTOCOL_ERROR
  5. Widget displays: "Failed to fetch"
  6. Refreshing the page or retrying resolves the issue.

Repeated login attempts increase the likelihood of reproducing the issue.

SDK Versions

System:
OS: Linux 6.14 Ubuntu 24.04.2 LTS 24.04.2 LTS (Noble Numbat)
CPU: (12) x64 13th Gen Intel(R) Core(TM) i7-1355U
Memory: 14.64 GB / 30.99 GB
Container: Yes
Shell: 5.2.21 - /bin/bash
Binaries:
Node: 24.4.1 - /home/user/.nvm/versions/node/v24.4.1/bin/node
Yarn: 1.22.22 - /home/user/.nvm/versions/node/v24.4.1/bin/yarn
npm: 11.4.2 - /home/user/.nvm/versions/node/v24.4.1/bin/npm
Browsers:
Chrome: 145.0.7632.45

Additional Information

Since disabling HTTP/2 removes the issue entirely, this suggests the problem may be related to HTTP/2 stream resets or connection reuse behavior at the edge.

We would appreciate assistance in:

  • Determining whether there are known HTTP/2 stream handling issues affecting IDX endpoints
  • Verifying if stream resets or connection-level GOAWAY frames are being issued for these requests
  • Advising on recommended mitigation strategies

Following is a snapshot of the network tab when the error happens.

Image

Here is a snapshot from netlog-viewer for the saved network logs of the failed event.

Image

###Troubleshooting Performed

To rule out client-side factors, we have also:

  • Updated Google Chrome to the latest stable version
  • Reproduced the issue in Incognito mode
  • Disabled and removed all browser extensions
  • Tested in multiple Chromium-based browsers (e.g., Chrome, Edge)
  • Verified that the issue does not occur in Mozilla Firefox
  • Confirmed that disabling HTTP/2 eliminates the issue completely

Despite these steps, the issue continues to occur intermittently in Chromium-based browsers when HTTP/2 is enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions