PKCE (always) + id_token nonce + public-client no-secret #36
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lab/authz-bridge#36
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#31 — Spec: public-client support + replace hand-rolled protocol code with the x/oauth2 + go-oidc + hstern trio
What to build
The OIDC Flow always uses PKCE (both Public and Confidential clients): the authorization URL carries the S256
code_challenge+code_challenge_method+nonce, the State blob carries thepkceVerifier, and the code exchange presents the matchingcode_verifier. The id_tokennonceis validated against the State blob's nonce. Public clients send noclient_secreton the code-exchange and refresh grants; Confidential clients still send it. A public-client App now signs in end-to-end.Acceptance criteria
code_challenge(S256) +code_challenge_method+nonce.pkceVerifier; the code exchange presents the matchingcode_verifier.nonceis validated against the State blob's nonce (a mismatch rejects the session).client_secreton the code-exchange and refresh grants; a Confidential client still sends it.make lintandmake testpass.Blocked by