Issue-resolution playbooks

Troubleshoot an authentication flow step by step

Use these playbooks when a login redirects incorrectly, stops at an identity provider, falls back to NTLM, rejects a client certificate, returns an OAuth/OIDC error, or succeeds without creating the expected application session.

Authentication evidence is sensitive HAR files and full exports may contain session cookies, authorization codes, tokens, SAML assertions, certificate data, identities, and internal hostnames. Keep the original evidence restricted and use a sanitized export for broader collaboration.

Use the same investigation method every time

  1. Define the symptom. Record the starting URL, expected result, actual result, test account, and approximate failure time.
  2. Capture one clean attempt. Open DevTools on the application tab, optionally undock it from the three-dot menu > Dock side > Undock into separate window, clear earlier traffic, start capture, reproduce once, and stop capture.
  3. Reduce noise. Enable Hide static, select the relevant protocol filter, and reset filters before deciding that evidence is missing.
  4. Read browser order. Follow redirects from the first protected resource through the gateway or identity provider and back to the application.
  5. Inspect request evidence. Review Request, Response, Cookies, and the applicable protocol-details tab for the selected row.
  6. Correlate the transaction. Open Flow Analysis, select the detected attempt, verify every associated request, and read validation checks and next actions.
  7. Preserve correlation values. Record ECID, request ID, SAML ID/InResponseTo, OIDC state, Entra trace/correlation ID, or Okta request ID where available.
  8. Export the assessment. Use the sanitized Markdown report for routine sharing and the full diagnostic report only within a controlled support team.
Traffic Inspector answersWhat happened in this individual browser request?
Flow Analysis answersHow do the related requests form one authentication attempt?
01

SAML / federation

SAML login stops, loops, or returns an error

Typical symptoms: the browser remains at the identity provider, the service provider rejects the response, a login loops, or the application shows an audience, destination, signature, or expiry error.

Capture and isolate

  1. Clear the panel, start capture, and reproduce one login from the service provider.
  2. Stop capture after the error or final application return.
  3. Select Protocols > SAML and temporarily keep Hide static enabled.
  4. Find the outbound request containing SAMLRequest and the return request containing SAMLResponse.

Inspect the evidence

WhereVerifyProblem clue
SAML Details - CommonRequest ID, response InResponseTo, issuer, destination, versionInResponseTo does not match the initiating request, or destination is not the expected ACS
StatusSAML status and nested status messageAnything other than success, especially responder or authentication failures
ConditionsNotBefore, NotOnOrAfter, and audienceExpired assertion, clock-skew problem, or wrong service-provider audience
Signature / certificateExpected response or assertion signature and certificate datesExpected signature absent, certificate expired, or certificate not yet valid
Response requestRelayState and posted form destinationRelayState lost or response posted to a different environment
SAML Details showing response status, conditions, assertion, signature, and deployment-specific values
SAML DetailsGreen values are protocol-defined; purple values identify deployment details to compare with metadata and configuration.

Resolve or escalate

  • Correct the service-provider ACS, entity ID, identity-provider issuer, audience, or metadata when browser evidence shows a mismatch.
  • Compare certificate validity and signing expectations; the extension identifies visible signatures but does not cryptographically validate trust.
  • If the request exists but no response returns, investigate identity-provider policy and authentication using the request ID and timestamp.
  • Provide both SAML message IDs, issuer, destination, status, timestamps, and the sanitized assessment to the federation administrator.
02

OAuth 2.0 / OpenID Connect

Authorization succeeds but the callback or application fails

Typical symptoms: invalid state, redirect URI mismatch, missing callback, repeated authorization, access denied, expired token, wrong tenant, or successful identity-provider authentication followed by an application error.

Capture and isolate

  1. Capture one login from the client application through the authorization server and back.
  2. Select Protocols > OAuth/OIDC/Bearer. Rows may match because they carry OIDC parameters or Bearer evidence even when only canonical endpoints receive the OAuth tag.
  3. In Flow Analysis, select OIDC and choose the transaction matching the login time and state value.
  4. Confirm that the authorization request and callback belong to the same transaction before interpreting validation results.

Inspect the evidence

EvidenceExpectedProblem clue
Authorization requestCorrect client ID, redirect URI, response type, scope, state, nonce, and PKCE challengeWrong environment, unregistered URI, missing state/nonce, or absent PKCE where required
CallbackReturned code or explicit error and the original stateNo callback, provider error, or state mismatch
ID tokenExpected issuer, audience/client ID, lifetime, nonce, and subjectExpired token, wrong issuer/audience, or nonce mismatch
Provider evidenceExpected Oracle, Okta, or Microsoft Entra authority and tenantUnexpected tenant, authorization server, AADSTS error, or Okta error
Browser scopeCallback is visible even when token exchange is server-sideNo browser-visible token is not automatically a failure
OIDC Flow Analysis showing correlated authorization, callback, validation checks, and recommended next actions
OIDC Flow AnalysisStart with state correlation, then review callback, PKCE, nonce, issuer, audience, token lifetime, and provider-specific errors.

Resolve or escalate

  • Correct registered redirect URIs and client configuration when the captured request differs from the provider registration.
  • Investigate application session creation when the callback succeeds but the browser returns to an unauthenticated application.
  • Do not report a missing browser token as a defect when the application performs the code exchange on its backend.
  • Preserve state aliases, timestamp, provider error, tenant, Entra trace/correlation IDs, or Okta request ID for provider and application logs.
03

Oracle Access Manager / WebGate

Protected resource redirects but no authenticated session is established

Typical symptoms: repeated redirects, return to the login page, OAM error page, credential submission without application access, missing session cookie, or a slow OAM/WebGate exchange.

Capture and isolate

  1. Start at the protected application URL, clear the panel, and reproduce one login.
  2. Select Protocols > OAM/WebGate and keep Hide static enabled.
  3. In Flow Analysis, select OAM and choose the attempt matching the start time.
  4. Read the sequence from protected resource/WebGate to OAM credential collection, credential submission, WebGate reply, and application return.

Inspect the evidence

StageWhat to inspectProblem clue
Protected resourceInitial status and Location redirect to obrareq.cgiNo OAM redirect or redirect to the wrong host/port
Credential routingobrareq.cgi/obreq.cgi, authentication scheme, request IDLooping collector route or unexpected WNA/X.509/form scheme
Credential submitActual submit endpoint and HTTP result4xx/5xx, error body, or return to the collector
Session transitionOAM_ID, OAM server cookies, OAMAuthnCookie/ObSSOCookie, and redirectsExpected OAM or WebGate session cookie is not created or not returned
Application returnFinal URL, status, timing, and session behaviorNo return, another challenge, unauthorized result, or redirect loop
OAM Flow Analysis showing WebGate and OAM stages, validation checks, and recommended actions
OAM/WebGate assessmentBrowser-visible stages distinguish WebGate from OAM server traffic and preserve ECID/request ID evidence for server logs.

Resolve or escalate

  • Use cookie ownership highlights to determine whether the missing transition belongs to WebGate or the OAM server.
  • Use the first failing request rather than the final error page as the starting point for log analysis.
  • Search WebGate, OHS, OAM, WebLogic, and application logs using the captured ECID, RID, request ID, timestamp, host, and endpoint.
  • Include the complete redirect sequence and note whether credential collection, session creation, and application return were observed.
04

Kerberos / Windows Native Authentication

Negotiate challenges repeatedly or falls back to NTLM

Typical symptoms: repeated 401 responses, a browser credential prompt, WNA collector failure, Kerberos not selected, or NTLM shown in red.

Capture and isolate

  1. Capture the protected request from a domain-joined test system where WNA is expected.
  2. Select Protocols > WNA/Kerberos/NTLM.
  3. Open Flow Analysis, select WNA, and verify the challenge and browser response are in the same attempt.
  4. Select the relevant requests and open Kerberos / X.509 for header-level evidence.

Interpret the exchange

  • An initial 401 with WWW-Authenticate: Negotiate is an expected challenge, not automatically a failure.
  • A following Authorization: Negotiate indicates that the browser submitted an SPNEGO token. The inspector decodes browser-visible token bytes locally and looks for the NTLMSSP signature, Kerberos mechanism OID 1.2.840.113554.1.2.2, and AP-REQ evidence.
  • Confirmed Kerberos identifies Kerberos OID or AP-REQ evidence. Confirmed NTLM fallback identifies NTLMSSP even when wrapped by Negotiate. Undetermined SPNEGO means the visible token does not contain enough recognized evidence. Challenge only and Token redacted / not captured distinguish an absent browser response from evidence Chromium intentionally omitted.
  • For an imported NetLog, open NetLog Analysis > Auth and choose Trace exchange. The trace inspects nested token fields locally, hides the token value, reports its length and detection evidence, and recommends the next Kerberos, NTLM, browser-policy, or restricted-capture check.
  • Repeated challenges with no browser token indicate browser policy, trusted-zone, URL, or client configuration should be checked before server authentication.
  • A submitted token followed by rejection requires SPN, service account, keytab, DNS, clock, KDC, and server-log validation outside the browser.
Kerberos WNA NTLM and X.509 evidence with authentication challenge and browser response
Kerberos / WNA evidenceSeparate the expected 401 challenge from the browser token response, NTLM fallback, and final authorization outcome.

Resolve or escalate

  • If no token is sent, validate browser integrated-authentication policy, trusted URL configuration, proxy behavior, and hostname use.
  • If NTLM is sent, verify DNS canonicalization and SPN registration before treating the OAM endpoint as the primary cause.
  • If Negotiate is rejected, provide the challenge sequence, host, WNA endpoint, timestamps, HTTP statuses, and token scheme; do not share token bytes broadly.
05

X.509 authentication

A client certificate is requested but authentication fails

Typical symptoms: no certificate prompt, wrong certificate selected, certificate accepted by TLS but rejected by the application, expired certificate, or OAM X.509 collection failure.

Capture and inspect

  1. Capture one attempt beginning at the protected X.509 resource.
  2. Select Protocols > X.509 and locate /oam/CredCollectServlet/X509 or forwarded certificate evidence.
  3. Open Kerberos / X.509 and review the visible subject, issuer, serial number, validity period, and thumbprints.
  4. Check Request and Response for forwarded certificate headers, redirects, status, and OAM/WebGate session cookies.
Know the browser boundary Chrome DevTools may not expose the TLS client-certificate exchange itself. The extension can analyze browser-visible collector requests and certificate-forwarding headers, but server and reverse-proxy logs remain authoritative for TLS negotiation and trust-chain validation.

Resolve or escalate

  • Correct expired or not-yet-valid certificates and confirm the expected issuing CA and subject-mapping rule.
  • Verify that the proxy or web tier forwards certificate information in the header expected by the application or OAM integration.
  • Provide subject, issuer, serial number, thumbprint, collector endpoint, timestamp, ECID/request ID, and final HTTP result without sharing private keys.
06

Offline troubleshooting

Analyze a HAR captured on another system

Prepare the evidence

  1. On the affected system, open Chrome DevTools before reproducing the login.
  2. In Network, preserve the log if navigation clears requests, reproduce one clean attempt, and export the HAR with content through the approved process.
  3. Transfer the HAR securely. Treat it as sensitive until it has been reviewed and sanitized.

Import and analyze

  1. On the analysis computer, select the extension toolbar icon to open Offline Viewer. No website or DevTools window is required.
  2. Select Import File, or drop the HAR, panel JSON export, or Firefox SAML-tracer JSON export onto the viewer.
  3. Use the DevTools panel instead only when comparing the saved evidence with a live inspected tab. Load Network HAR applies only to entries already exposed by the browser Network model.
  4. Wait for the imported request count, then use protocol filters and Flow Analysis as for live traffic.
  5. If decoded SAML, bodies, cookies, or token evidence is absent, verify that the source HAR retained request/response headers and content.
  6. Export a sanitized assessment after selecting the relevant transaction.
Imported evidence can be incomplete HAR files cannot contain browser events that were never captured, server-to-server exchanges, Kerberos ticket-cache details, KDC traffic, backend token exchange, or authoritative server validation. Record these limits rather than interpreting missing evidence as a confirmed failure.
07

Lower-level browser networking

Find failures that occur before an HTTP response

Capture the NetLog

  1. Open chrome://net-export, start logging to disk, and reproduce one clean authentication or connection failure.
  2. Return to Net Export and stop logging. Protect the JSON file as sensitive diagnostic evidence.
  3. Select the extension toolbar icon, open Offline Viewer, and import the file. DevTools is optional for saved NetLog analysis.

Use NetLog Analysis

  1. Start with Issues to identify explicit Chromium Net errors and challenge/retry events.
  2. Narrow to Auth, DNS, Proxy, TLS, Sockets, HTTP/2, or QUIC based on the first failed stage.
  3. Select a source in the left navigator to isolate its events and expand each event to inspect raw parameters.
  4. For an authentication challenge finding, select Trace exchange. Follow the five stages: challenge, client token, retries, final outcome, and recommended next check. Use Previous or Next to compare repeated challenges.
  5. For TLS or certificate evidence, select Trace TLS connection. Compare endpoint/connect evidence, handshake, certificate validation, protocol negotiation, connection reuse, and the final outcome.
  6. For DNS, proxy, socket, HTTP, HTTP/2, QUIC, or other findings, select Investigate. Review the triggering event, linked Chromium sources, related evidence, final visible outcome, and recommended investigation path.
  7. Follow the recommended next action, then correlate the timestamp, hostname, source, and Net error with proxy, DNS, certificate, gateway, or browser policy evidence.

Choose the contextual action

FindingActionEvidence to follow
AuthenticationTrace exchangeServer or proxy challenge, browser Authorization response, Kerberos or NTLM evidence, retries, and final HTTP result
TLS or certificateTrace TLS connectionEndpoint, connect job, handshake, certificate validation, TLS version, ALPN, cipher, connection reuse, fallback, and outcome
DNSInvestigate DNSRequested hostname, resolver job, address or alias result, secure-DNS policy, VPN, and split-horizon behavior
ProxyInvestigate ProxyPAC evaluation, selected proxy, bypass decision, proxy authentication, connect job, and fallback route
SocketInvestigate SocketAddress selection, connection attempt, timeout, refusal, reset, cancellation, and dependent request
HTTPInvestigate HTTPURL request, redirects, response headers, stream lifecycle, HTTP status, and final browser-visible result
HTTP/2Investigate HTTP/2Session and stream errors, negotiated protocol, parent socket, reset reason, and associated URL request
QUICInvestigate QUICQUIC session error, handshake state, network change, retry, and fallback to TCP/TLS
OtherInvestigate OtherTriggering raw parameters, linked Chromium sources, adjacent failures, and originating URL request

Trace one problematic request

  1. Search for the affected hostname, URL fragment, or Chromium error to remove unrelated browser activity.
  2. Start with the earliest meaningful failure near the reproduction time, not simply the largest error count.
  3. Open its contextual action and verify the triggering event, source correlation, related evidence, and final visible outcome.
  4. Expand the highlighted timeline event and follow its source dependencies in timestamp order.
  5. Use Previous and Next to compare retries of the same category.
  6. Confirm whether later ERR_ABORTED, cancelled, or retry events are consequences of an earlier DNS, proxy, TLS, or authentication failure.
Interpretation boundary A challenge is not automatically a login failure, and the focused workspace is not Chromium's complete NetLog Viewer. Finding counts represent matching events, not necessarily the same number of user-visible failures. Chromium can retry DNS, race connections, cancel speculative work, and record secondary errors. Unknown browser-version-specific fields remain visible as raw evidence.
Dark NetLog Diagnostic findings showing contextual actions for DNS, HTTP, proxy, TLS, socket, HTTP/2, QUIC, and authentication issues
Contextual actions for every finding Start from Issues and open the action that matches the failing layer instead of manually reconstructing unrelated events.
Dark focused DNS investigation showing the triggering event, linked sources, related evidence, final outcome, and recommended path
Focused DNS investigation Trace ERR_NAME_NOT_RESOLVED through the resolver source and originating URL request, then follow the category-specific next action.
Dark Authentication Exchange Trace showing a server challenge, confirmed Kerberos client token, retry, successful redirect, and recommended next check
Kerberos and NTLM exchange classification Follow the challenge through local client-token classification, retries, final HTTP outcome, and the recommended next check. Token values remain hidden.
Dark TLS Connection Trace showing an expired certificate validation failure
Certificate validation failure Separate the endpoint, TLS handshake, certificate error, negotiated protocol, connection state, and failed final outcome.
Dark TLS Connection Trace showing TLS 1.3 negotiation and a reused HTTP/2 connection
TLS negotiation and reuse Confirm TLS version, ALPN, cipher and key-exchange evidence, certificate verification, connection reuse, and the final HTTP response.

Build an engineering-ready handoff

A useful escalation should let another engineer find the same event without replaying the entire investigation.

IncludeWhy it matters
Expected and actual resultDefines the failure precisely and prevents investigation of normal protocol behavior
Start/end time and timezoneNarrows identity-provider, OAM, proxy, and application logs
Starting URL and participating hostsIdentifies the application, gateway, provider, tenant, and environment
First failing or incomplete requestFocuses analysis before secondary redirects and error pages
Correlation identifiersConnects browser evidence to ECID, request, provider, and application logs
Protocol findingsCaptures SAML status/IDs, OIDC state/errors, WNA scheme, certificate metadata, or cookie transition
Sanitized assessmentProvides the correlated timeline, validation checks, evidence, and recommended next actions
Capture limitationsPrevents an absent server-side exchange from being treated as browser-visible proof
Resolution test After making a change, capture a new clean attempt. Compare the first failing stage, correlation sequence, validation checks, cookies or tokens, and final application return. Do not mix requests from the original failure and the verification attempt in one assessment.