JWT Verification
Verify access tokens locally and refresh JWKS on key rotation
Verify Gwop access tokens locally with jose. Do not call the API on every request just to check a signature.
kidsid is preserved so the app can perform a live session lookup when revocation mattersLocal JWT verification proves signature, issuer, audience, and expiry. It does not replace a live session lookup if you need to reject revoked sessions immediately. Keep sid so you can pair local verification with gwop.authSessions.get() when needed.