feat: add secure public OAuth with DPoP and quickslice-client-js SDK
Server changes:
- Add DPoP (Demonstration of Proof-of-Possession) token binding
- Add JTI replay protection for DPoP proofs
- Add DPoP validation middleware for resource endpoints
- Update token endpoint to validate and bind DPoP proofs
Client SDK (quickslice-client-js):
- High-level auth0-spa-js style API for browser SPAs
- OAuth PKCE flow with DPoP proof generation
- Non-extractable P-256 keys stored in IndexedDB
- Multi-tab token refresh coordination
- GraphQL query/mutation helpers with automatic DPoP auth
- Available via jsDelivr CDN or npm
Example updates:
- Refactor statusphere example to use quickslice-client-js
- Reduce example from ~1300 lines to ~800 lines