Skip to content

pywry.auth.pkce

Proof Key for Code Exchange (PKCE) utilities for OAuth2 authorization code flow.


PKCEChallenge

pywry.auth.pkce.PKCEChallenge dataclass

PKCEChallenge(verifier: str, challenge: str, method: str = 'S256')

PKCE code verifier and challenge pair.

Attributes:

Name Type Description
verifier str

The code verifier (high-entropy random string).

challenge str

The code challenge (base64url-encoded SHA-256 hash of verifier).

method str

The challenge method, always "S256".

Functions

generate classmethod

generate(length: int = 64) -> PKCEChallenge

Generate a new PKCE code verifier and challenge.

Parameters:

Name Type Description Default
length int

Number of bytes for the random verifier (default 64). RFC 7636 recommends at least 32 bytes.

64

Returns:

Type Description
PKCEChallenge

A new PKCE challenge pair.