HTTP Authentication

Compatibility

Not every client supports every authentication scheme natively. This matrix shows which clients handle each scheme automatically, which require manual setup, and which are unsupported.

Criteria

Native
The client opens an interactive authentication view or automatically configures the credential parameter without additional code.
Partial
The client exposes a dedicated property or option to supply credentials, but does not detect or negotiate the scheme automatically from the server challenge.
Not supported.

Compatibility matrix

Chrome
Browser — native credential dialog (v117+)
Basic
Native
Digest MD5
Native
Digest SHA-256
Native
Bearer
Bearer + Discovery
NTLM
Native
Kerberos
Firefox
Browser — native credential dialog (v93+)
Basic
Native
Digest MD5
Native
Digest SHA-256
Native
Bearer
Bearer + Discovery
NTLM
Native
Kerberos
Safari
Browser — native credential dialog (WebKit, no SHA-256)
Basic
Native
Digest MD5
Native
Digest SHA-256
Bearer
Bearer + Discovery
NTLM
Native
Kerberos
Edge
Browser — native credential dialog (Chromium, v117+)
Basic
Native
Digest MD5
Native
Digest SHA-256
Native
Bearer
Bearer + Discovery
NTLM
Native
Kerberos
curl
Command-line HTTP tool (--digest flag; RFC 7616 full support)
Basic
Partial
Digest MD5
Partial
Digest SHA-256
Partial
Bearer
Partial
Bearer + Discovery
NTLM
Partial
Kerberos
Partial
wget
Command-line HTTP tool (MD5 only)
Basic
Partial
Digest MD5
Partial
Digest SHA-256
Bearer
Bearer + Discovery
NTLM
Kerberos
http (HTTPie)
Command-line HTTP tool (MD5 only via plugin)
Basic
Partial
Digest MD5
Partial
Digest SHA-256
Bearer
Partial
Bearer + Discovery
NTLM
Kerberos
fetch / XHR
Browser-side JavaScript HTTP API
Basic
Digest MD5
Digest SHA-256
Bearer
Bearer + Discovery
NTLM
Kerberos
axios
JavaScript HTTP library
Basic
Partial
Digest MD5
Digest SHA-256
Bearer
Bearer + Discovery
NTLM
Kerberos
requests
Python HTTP library (HTTPDigestAuth, MD5 only)
Basic
Partial
Digest MD5
Partial
Digest SHA-256
Bearer
Bearer + Discovery
NTLM
Kerberos
Postman
API client with OAuth 2.0 support
Basic
Partial
Digest MD5
Partial
Digest SHA-256
Partial
Bearer
Partial
Bearer + Discovery
NTLM
Partial
Kerberos
Insomnia
API client with OAuth 2.0 support (MD5 only)
Basic
Partial
Digest MD5
Partial
Digest SHA-256
Bearer
Partial
Bearer + Discovery
NTLM
Kerberos
Claude
MCP client — Model Context Protocol
Basic
Digest MD5
Digest SHA-256
Bearer
Partial
Bearer + Discovery
Native
NTLM
Kerberos
Perplexity
MCP client — Model Context Protocol
Basic
Digest MD5
Digest SHA-256
Bearer
Partial
Bearer + Discovery
Native
NTLM
Kerberos

When to use each scheme

Basic

Not recommended

Use only for internal tooling, legacy systems, or when HTTPS is guaranteed and no better option exists. Broad client support makes it tempting, but the password is reversibly encoded — treat every request as if it sends the plaintext password.

Digest

Legacy

An improvement over Basic but limited to environments where browsers handle it natively. Poor JavaScript and modern-framework support makes it impractical for new APIs.

Bearer

Recommended for APIs

The standard for modern APIs. Any client that can set a request header works. Token issuance (OAuth 2.0 flows) must be configured externally — use RFC 9728 discovery if you want zero-config clients.

Bearer + Discovery

Modern · Discovery

Ideal for ecosystems where clients cannot be pre-configured: AI agents, MCP servers, and federated APIs. A single 401 response gives the client everything it needs to discover the authorization server and obtain a token.

NTLM

Legacy · Windows

Restricted to Windows-domain environments. Avoid for new web services — Kerberos or Bearer are the correct replacements. Use only when interoperating with legacy IIS, SharePoint, or other Microsoft systems where domain authentication is mandatory and cannot be modernized.

Kerberos (Negotiate)

Enterprise · SSO

The preferred authentication method in Active Directory environments. Use when all clients are domain-joined and Single Sign-On is required — the user never sees a credential prompt. Requires the server to be registered as an SPN in Active Directory and browsers to be configured via enterprise policy. Not suitable for public internet APIs.