# pas-external
Ppoppo Accounts System (PAS) client for Rust.
- **OAuth2 PKCE** authentication flow
- **JWT (RFC 9068, EdDSA)** token verification via JWKS (RFC 7517)
- **OIDC (OpenID Connect 1.0)** ID-token verification via `oidc::RelyingParty<S>`
- **Axum middleware** for plug-and-play auth routes
## Usage
```toml
[dependencies]
pas-external = { version = "0.1", features = ["axum"] }
```
For downstream consumer integration tests, enable `test-support` to access
`MemoryPasAuth` (deterministic in-memory PAS substitute, FIFO-scripted):
```toml
[dev-dependencies]
pas-external = { version = "0.1", features = ["axum", "test-support"] }
```
> Pre-1.0: minor bumps (`0.2`, `0.3`) may include breaking changes per
> SemVer ยง11. Versions `1.0.1` โ `5.0.0` were yanked from crates.io on
> 2026-04-30 as part of a pre-1.0 version reset; `0.1.0` is equivalent
> in scope to the (yanked) `5.0.0` development line. See `CHANGELOG.md`
> for the design history and `0context/STANDARDS_SESSION_LIVENESS.md`
> for the consumer-facing contract.