RFC 9278¶
RFC9278 defines the JWK Thumbprint URI, an extension to RFC 7638 (JWK Thumbprint). It provides a standard way to represent a JWK Thumbprint as a URI, enabling stable, comparable key identifiers that can be referenced externally.
Definition¶
RFC 9278 builds on RFC 7638 by specifying how a JWK Thumbprint (Base64URL-encoded SHA-256 digest of a key’s canonical JSON form) can be expressed as a URI. This allows JWK-based key identifiers to be used in contexts where a URI is required.
The JWK Thumbprint URI uses the following format:
urn:ietf:params:oauth:jwk-thumbprint:sha-256:<base64url-thumbprint>
Implementation¶
joserfc implements JWK thumbprint support according to RFC7638.
The functionality is exposed through:
from joserfc import jwk
key = jwk.generate_key("RSA")
key.thumbprint_uri()
# 'urn:ietf:params:oauth:jwk-thumbprint:sha-256:OLO1-f_Vl8mishRR_ZuXJFqZn1geoCXGsJdmKlW13Oc'
This provides a standards-compliant identifier suitable for use in any URI field across OAuth and JOSE-related specifications.