10 Commits

Author SHA1 Message Date
eb65999a6c
refactor: rename PublicKey.Key to Pub, PrivateKey.privKey to Priv
- PublicKey.Key → PublicKey.Pub (CryptoPublicKey)
- PrivateKey.privKey → PrivateKey.Priv (crypto.Signer, now public)
- Update all internal usages in jwk.go, sign.go, verify.go
- Update all test usages in jwt_test.go, coverage_test.go, edge_test.go
- Update interop tests (round-trip-go-jose, round-trip-go-jwt, nuance)
- Update SKILL.md documentation

Breaking change: PublicKey.Key renamed to PublicKey.Pub
2026-03-18 18:58:49 -06:00
d104f51016
refactor: remove PrivateKey.Thumbprint, use PublicKey.Thumbprint
PrivateKey.Thumbprint was a convenience wrapper that called
PublicKey() then Thumbprint(). All callers now go through
PublicKey.Thumbprint directly, making the derivation explicit.
2026-03-18 18:58:44 -06:00
d6601ea6ed
chore(auth/jwt): ignore bins 2026-03-18 18:57:25 -06:00
73e7903c4c
test(auth/jwt): even more tests 2026-03-18 18:57:25 -06:00
999d7c2615
test(auth/jwt): more tests 2026-03-18 18:57:25 -06:00
08dd881974
doc(auth/jwt): add SKILL.md 2026-03-18 18:57:25 -06:00
0800ea2491
WIP: feat: add auth/jwt/examples 2026-03-18 18:57:24 -06:00
0d99234914
ref!(auth/jwt): variadic requiredScopes in NewAccessTokenValidator
Distinguishes the two validator constructors by signature:
- NewIDTokenValidator(iss, aud, azp []string) — allowlist semantics
- NewAccessTokenValidator(iss, aud []string, requiredScopes ...string) — requirement semantics

Variadic scopes read naturally at the call site:
  NewAccessTokenValidator(issuers, audiences, "openid", "profile")

Three-state semantics preserved:
  no args        → scope not checked
  []string{}...  → scope must be present (any value)
  "openid", ...  → scope must contain all listed values

Also removes the old gracePeriod parameter from both constructors
(was 0 at all call sites; set GracePeriod on the struct directly
if a non-default value is needed).

Adds TestCov_NewAccessTokenValidator_Scopes covering all three cases.
2026-03-17 08:00:45 -06:00
26bdc0a3db
ref!(auth/jwt): full modern rewrite 2026-03-17 07:49:53 -06:00
117ed8cc9b
feat(auth/jwt): add jwk fetch and jwt verify 2026-03-17 07:10:25 -06:00