HTTP Authentication Schemes
The complete set of HTTP authentication schemes registered with IANA, as defined in the HTTP Authentication Scheme Registry. Each entry includes the canonical scheme name, a description of its mechanism and purpose, and the authoritative RFC reference. The dataset covers all 14 registered schemes including foundational schemes like Basic and Bearer, modern token-based approaches like DPoP and PrivateToken, and challenge-response mechanisms like Digest and SCRAM.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/http-auth-schemes.json
Or use as a typed import:
import { httpAuthSchemes } from "https://staticdata.dev/v1/http-auth-schemes.ts"
Formats
- JSON 2.7 KB
/v1/http-auth-schemes.json
min: 2.4 KB · /v1/http-auth-schemes.min.json
- CSV 1.9 KB
/v1/http-auth-schemes.csv
- TypeScript 2.9 KB
/v1/http-auth-schemes.ts
export const httpAuthSchemes
type AuthScheme = (typeof httpAuthSchemes)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| scheme | string | The authentication scheme name as used in the Authorization/WWW-Authenticate headers | Bearer |
| description | string | A concise description of the scheme's mechanism and purpose | Uses bearer tokens, typically JWTs or opaque tokens, to access OAuth 2.0-protected resources. |
| reference | string | The authoritative RFC or specification reference for this scheme | RFC6750 |
Preview
First 10 records.
| scheme | description | reference |
|---|---|---|
| Basic | Transmits credentials as a Base64-encoded username and password pair in the Authorization header. | RFC7617 |
| Bearer | Uses bearer tokens, typically JWTs or opaque tokens, to access OAuth 2.0-protected resources. | RFC6750 |
| Concealed | Concealed HTTP authentication: the client proves possession of a key using a signature over TLS keying material, so the server can authenticate it without revealing to probes that the resource exists. | RFC9729 |
| Digest | Challenge-response scheme that applies a hash function to credentials to avoid sending passwords in cleartext. | RFC7616 |
| DPoP | Demonstration of Proof-of-Possession; binds access tokens to a client public key to prevent token replay. | RFC9449, Section 7.1 |
| GNAP | Grant Negotiation and Authorization Protocol; a next-generation delegation and authorization framework. | RFC9635, Section 7.2 |
| HOBA | HTTP Origin-Bound Authentication; uses digital signatures with an origin-bound key pair for authentication. | RFC7486, Section 3 |
| Mutual | Password-based mutual authentication in which client and server prove knowledge of the password to each other without sending it (experimental). | RFC8120 |
| Negotiate | SPNEGO-based scheme supporting Kerberos and NTLM for Windows-integrated authentication. | RFC4559, Section 3 |
| OAuth | OAuth 1.0 authentication using signed requests with consumer key, token, and HMAC signature. | RFC5849, Section 3.5.1 |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/http-auth-schemes.json | jq '.[0]' import type { AuthScheme } from "https://staticdata.dev/v1/http-auth-schemes.ts";
const res = await fetch("https://staticdata.dev/v1/http-auth-schemes.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const httpAuthSchemes: AuthScheme[] = await res.json();
console.log(httpAuthSchemes[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/http-auth-schemes.min.json") as r:
httpAuthSchemes = json.load(r)
print(httpAuthSchemes[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/http-auth-schemes.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/http-auth-schemes.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
The data is sourced directly from the IANA HTTP Authentication Scheme Registry, the authoritative registry maintained by the Internet Assigned Numbers Authority. Each authentication scheme listed has been formally registered and is defined by the corresponding RFC or IETF specification. The dataset includes all 14 schemes registered as of October 2026.
HTTP authentication schemes are used in the Authorization request header and WWW-Authenticate response header to negotiate credentials between clients and servers. The registry spans a wide range of mechanisms: Basic and Digest are the oldest and most widely deployed; Bearer underpins the OAuth 2.0 ecosystem and is ubiquitous in modern APIs; Negotiate enables Windows-integrated Kerberos/NTLM authentication; DPoP and PrivateToken represent newer privacy-preserving approaches; and SCRAM-SHA-1/SCRAM-SHA-256 provide salted challenge-response authentication suitable for use over TLS.
Descriptions are concise paraphrases of the normative RFC definitions and are intended for developer quick-reference. The reference field contains the RFC number and optional section in the form used by IANA (e.g., RFC6750 or RFC9449, Section 7.1). Note that the Negotiate scheme, while widely deployed in enterprise environments, is documented by its RFC as violating HTTP semantics due to its connection-oriented nature.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
http-auth-schemes changelog for this dataset's history.
Related datasets
More Web datasets
- aria-attributes
- aria-roles
- character-encodings
- csp-directives
- credit-card-types
- dns-record-types
- dom-events
- emoji
- emoji-shortcodes
- html-elements
- html-entities
- html-attributes
- input-types
- http-cache-directives
- http-content-codings
- http-headers
- http-versions
- iframe-sandbox-tokens
- ip-protocol-numbers
- keyboard-event-codes
- link-relations
- media-type-suffixes
- mime-types
- oauth-grant-types
- ports
- referrer-policies
- ip-special-blocks
- svg-elements
- tcp-flags
- tlds
- tls-cipher-suites
- tls-versions
- uri-schemes
- well-known-uris