# ovok_sdk.auth.pkce

Canonical page: https://docs.ovok.com/python-sdk/reference/auth/pkce

PKCE (RFC 7636) verifier and challenge generation.

## PkcePair [#pkcepair]

```python
PkcePair(code_verifier: str, code_challenge: str)
```

A PKCE code verifier and its S256 challenge.

**Attributes**

| Name | Type | Description |
| --- | --- | --- |
| `code_verifier` | `str` | Random secret; never shown in `repr`. |
| `code_challenge` | `str` | Base64url SHA-256 of the verifier, without padding. |

## generate_pkce_pair() [#generate_pkce_pair]

```python
generate_pkce_pair() -> PkcePair
```

Return a new random verifier of 128 unreserved characters and its challenge.

## code_challenge_for() [#code_challenge_for]

```python
code_challenge_for(verifier: str) -> str
```

Return the S256 code challenge for `verifier`.
