mirror of
https://github.com/hanzoai/id.git
synced 2026-10-16 18:38:15 +00:00
Confidential OIDC clients that validate strictly (LibreChat openid-client with OPENID_REUSE_TOKENS) send a nonce on authorize and require the id_token to echo it. The portal's password-login path read code_challenge from the authorize URL but DROPPED nonce, so the IAM minted a code (and id_token) with no nonce -> openid-client 'unexpected JWT claim value encountered' -> hanzo.chat callback HTTP 500. Thread nonce: Login.tsx reads ?nonce, LoginForm forwards it, and client.login() puts it on the /v1/iam/login query (next to code_challenge). Additive + forward-only (never defaulted); social login already rode authorize() which carried nonce. Verified: id SPA builds green.