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.

ATTRIBUTE DESCRIPTION
verifier

The code verifier (high-entropy random string).

TYPE: str

challenge

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

TYPE: str

method

The challenge method, always "S256".

TYPE: str

Functions

generate classmethod

generate(length: int = 64) -> PKCEChallenge

Generate a new PKCE code verifier and challenge.

PARAMETER DESCRIPTION
length

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

TYPE: int DEFAULT: 64

RETURNS DESCRIPTION
PKCEChallenge

A new PKCE challenge pair.