@dotdo/oauth 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -46,5 +46,7 @@ export type { DevModeConfig, DevUser, TestHelpers } from './dev.js';
46
46
  export { MemoryOAuthStorage } from './storage.js';
47
47
  export type { OAuthStorage, ListOptions } from './storage.js';
48
48
  export { generateCodeVerifier, generateCodeChallenge, verifyCodeChallenge, generatePkce, generateState, generateToken, generateAuthorizationCode, hashClientSecret, verifyClientSecret, base64UrlEncode, base64UrlDecode, constantTimeEqual, } from './pkce.js';
49
+ export { verifyJWT, decodeJWT, isJWTExpired, clearJWKSCache } from './jwt.js';
50
+ export type { JWTVerifyResult, JWTVerifyOptions, JWTHeader, JWTPayload } from './jwt.js';
49
51
  export type { OAuthUser, OAuthOrganization, OAuthClient, OAuthAuthorizationCode, OAuthAccessToken, OAuthRefreshToken, OAuthGrant, OAuthServerMetadata, OAuthResourceMetadata, TokenResponse, OAuthError, UpstreamOAuthConfig, } from './types.js';
50
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGrE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAGnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG7D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAGlB,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGrE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAGnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG7D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC7E,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGxF,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -47,4 +47,6 @@ export { createTestHelpers, generateLoginFormHtml } from './dev.js';
47
47
  export { MemoryOAuthStorage } from './storage.js';
48
48
  // PKCE
49
49
  export { generateCodeVerifier, generateCodeChallenge, verifyCodeChallenge, generatePkce, generateState, generateToken, generateAuthorizationCode, hashClientSecret, verifyClientSecret, base64UrlEncode, base64UrlDecode, constantTimeEqual, } from './pkce.js';
50
+ // JWT Verification
51
+ export { verifyJWT, decodeJWT, isJWTExpired, clearJWKSCache } from './jwt.js';
50
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGnE,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAGjD,OAAO;AACP,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGnE,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAGjD,OAAO;AACP,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAElB,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
package/dist/jwt.d.ts ADDED
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @dotdo/oauth - JWT Verification
3
+ *
4
+ * Server-side JWT token validation with JWKS support.
5
+ * Validates standard JWT claims (exp, iat, iss, aud) and
6
+ * fetches public keys from JWKS endpoints.
7
+ */
8
+ /**
9
+ * Result of JWT verification
10
+ */
11
+ export interface JWTVerifyResult {
12
+ /** Whether the token is valid */
13
+ valid: boolean;
14
+ /** Decoded JWT payload (if valid) */
15
+ payload?: JWTPayload;
16
+ /** Error message (if invalid) */
17
+ error?: string;
18
+ /** JWT header */
19
+ header?: JWTHeader;
20
+ }
21
+ /**
22
+ * JWT Header
23
+ */
24
+ export interface JWTHeader {
25
+ /** Algorithm used for signing */
26
+ alg: string;
27
+ /** Token type (typically 'JWT') */
28
+ typ?: string;
29
+ /** Key ID for JWKS lookup */
30
+ kid?: string;
31
+ }
32
+ /**
33
+ * Standard JWT Payload claims
34
+ */
35
+ export interface JWTPayload {
36
+ /** Issuer */
37
+ iss?: string;
38
+ /** Subject */
39
+ sub?: string;
40
+ /** Audience (can be string or array) */
41
+ aud?: string | string[];
42
+ /** Expiration time (Unix timestamp) */
43
+ exp?: number;
44
+ /** Not before (Unix timestamp) */
45
+ nbf?: number;
46
+ /** Issued at (Unix timestamp) */
47
+ iat?: number;
48
+ /** JWT ID */
49
+ jti?: string;
50
+ /** Additional claims */
51
+ [key: string]: unknown;
52
+ }
53
+ /**
54
+ * Options for JWT verification
55
+ */
56
+ export interface JWTVerifyOptions {
57
+ /** JWKS URL for fetching public keys */
58
+ jwksUrl?: string;
59
+ /** Expected issuer */
60
+ issuer?: string;
61
+ /** Expected audience (can be string or array) */
62
+ audience?: string | string[];
63
+ /** Pre-loaded public key (alternative to jwksUrl) */
64
+ publicKey?: CryptoKey;
65
+ /** Clock tolerance in seconds for exp/nbf/iat checks (default: 60) */
66
+ clockTolerance?: number;
67
+ /** Skip expiration check */
68
+ ignoreExpiration?: boolean;
69
+ }
70
+ /**
71
+ * Verify a JWT token
72
+ *
73
+ * @param token - The JWT token to verify
74
+ * @param options - Verification options
75
+ * @returns Verification result with payload if valid
76
+ *
77
+ * @example With JWKS URL
78
+ * ```typescript
79
+ * const result = await verifyJWT(token, {
80
+ * jwksUrl: 'https://issuer.com/.well-known/jwks.json',
81
+ * issuer: 'https://issuer.com',
82
+ * audience: 'my-api'
83
+ * })
84
+ *
85
+ * if (result.valid) {
86
+ * console.log('User ID:', result.payload?.sub)
87
+ * } else {
88
+ * console.error('Invalid token:', result.error)
89
+ * }
90
+ * ```
91
+ *
92
+ * @example With pre-loaded public key
93
+ * ```typescript
94
+ * const result = await verifyJWT(token, {
95
+ * publicKey: await crypto.subtle.importKey(...),
96
+ * issuer: 'https://issuer.com'
97
+ * })
98
+ * ```
99
+ */
100
+ export declare function verifyJWT(token: string, options?: JWTVerifyOptions): Promise<JWTVerifyResult>;
101
+ /**
102
+ * Decode a JWT without verifying the signature
103
+ * Useful for inspecting tokens before verification
104
+ *
105
+ * @param token - The JWT token to decode
106
+ * @returns Decoded header and payload, or null if invalid format
107
+ */
108
+ export declare function decodeJWT(token: string): {
109
+ header: JWTHeader;
110
+ payload: JWTPayload;
111
+ } | null;
112
+ /**
113
+ * Check if a JWT is expired (without full verification)
114
+ *
115
+ * @param token - The JWT token to check
116
+ * @param clockTolerance - Tolerance in seconds (default: 0)
117
+ * @returns true if expired, false if valid or no exp claim
118
+ */
119
+ export declare function isJWTExpired(token: string, clockTolerance?: number): boolean;
120
+ /**
121
+ * Clear the JWKS cache (useful for testing)
122
+ */
123
+ export declare function clearJWKSCache(): void;
124
+ //# sourceMappingURL=jwt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAA;IACd,qCAAqC;IACrC,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB;IACjB,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,aAAa;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,aAAa;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAiH1B;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAc1F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,GAAG,OAAO,CAQ/E;AAqMD;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
package/dist/jwt.js ADDED
@@ -0,0 +1,337 @@
1
+ /**
2
+ * @dotdo/oauth - JWT Verification
3
+ *
4
+ * Server-side JWT token validation with JWKS support.
5
+ * Validates standard JWT claims (exp, iat, iss, aud) and
6
+ * fetches public keys from JWKS endpoints.
7
+ */
8
+ import { base64UrlDecode } from './pkce.js';
9
+ // Cache for JWKS to avoid repeated fetches
10
+ const jwksCache = new Map();
11
+ const JWKS_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
12
+ /**
13
+ * Verify a JWT token
14
+ *
15
+ * @param token - The JWT token to verify
16
+ * @param options - Verification options
17
+ * @returns Verification result with payload if valid
18
+ *
19
+ * @example With JWKS URL
20
+ * ```typescript
21
+ * const result = await verifyJWT(token, {
22
+ * jwksUrl: 'https://issuer.com/.well-known/jwks.json',
23
+ * issuer: 'https://issuer.com',
24
+ * audience: 'my-api'
25
+ * })
26
+ *
27
+ * if (result.valid) {
28
+ * console.log('User ID:', result.payload?.sub)
29
+ * } else {
30
+ * console.error('Invalid token:', result.error)
31
+ * }
32
+ * ```
33
+ *
34
+ * @example With pre-loaded public key
35
+ * ```typescript
36
+ * const result = await verifyJWT(token, {
37
+ * publicKey: await crypto.subtle.importKey(...),
38
+ * issuer: 'https://issuer.com'
39
+ * })
40
+ * ```
41
+ */
42
+ export async function verifyJWT(token, options = {}) {
43
+ const { jwksUrl, issuer, audience, publicKey, clockTolerance = 60, ignoreExpiration = false } = options;
44
+ try {
45
+ // Parse the JWT
46
+ const parts = token.split('.');
47
+ if (parts.length !== 3) {
48
+ return { valid: false, error: 'Invalid JWT format: expected 3 parts' };
49
+ }
50
+ const [headerB64, payloadB64, signatureB64] = parts;
51
+ // Decode header
52
+ let header;
53
+ try {
54
+ header = JSON.parse(decodeBase64Url(headerB64));
55
+ }
56
+ catch {
57
+ return { valid: false, error: 'Invalid JWT header: failed to decode' };
58
+ }
59
+ // Decode payload
60
+ let payload;
61
+ try {
62
+ payload = JSON.parse(decodeBase64Url(payloadB64));
63
+ }
64
+ catch {
65
+ return { valid: false, error: 'Invalid JWT payload: failed to decode' };
66
+ }
67
+ // Validate algorithm
68
+ if (!isSupportedAlgorithm(header.alg)) {
69
+ return { valid: false, error: `Unsupported algorithm: ${header.alg}`, header, payload };
70
+ }
71
+ // Get the public key
72
+ let key;
73
+ if (publicKey) {
74
+ key = publicKey;
75
+ }
76
+ else if (jwksUrl) {
77
+ const fetchedKey = await getKeyFromJWKS(jwksUrl, header.kid, header.alg);
78
+ if (!fetchedKey) {
79
+ return { valid: false, error: 'No matching key found in JWKS', header, payload };
80
+ }
81
+ key = fetchedKey;
82
+ }
83
+ else {
84
+ return { valid: false, error: 'Either jwksUrl or publicKey must be provided', header, payload };
85
+ }
86
+ // Verify signature
87
+ const signatureValid = await verifySignature(`${headerB64}.${payloadB64}`, signatureB64, key, header.alg);
88
+ if (!signatureValid) {
89
+ return { valid: false, error: 'Invalid signature', header, payload };
90
+ }
91
+ // Validate claims
92
+ const now = Math.floor(Date.now() / 1000);
93
+ // Check expiration
94
+ if (!ignoreExpiration && payload.exp !== undefined) {
95
+ if (now > payload.exp + clockTolerance) {
96
+ return { valid: false, error: 'Token has expired', header, payload };
97
+ }
98
+ }
99
+ // Check not before
100
+ if (payload.nbf !== undefined) {
101
+ if (now < payload.nbf - clockTolerance) {
102
+ return { valid: false, error: 'Token not yet valid (nbf)', header, payload };
103
+ }
104
+ }
105
+ // Check issued at (prevent tokens issued in the future)
106
+ if (payload.iat !== undefined) {
107
+ if (payload.iat > now + clockTolerance) {
108
+ return { valid: false, error: 'Token issued in the future (iat)', header, payload };
109
+ }
110
+ }
111
+ // Check issuer
112
+ if (issuer !== undefined) {
113
+ if (payload.iss !== issuer) {
114
+ return { valid: false, error: `Invalid issuer: expected ${issuer}, got ${payload.iss}`, header, payload };
115
+ }
116
+ }
117
+ // Check audience
118
+ if (audience !== undefined) {
119
+ const tokenAud = Array.isArray(payload.aud) ? payload.aud : payload.aud ? [payload.aud] : [];
120
+ const expectedAud = Array.isArray(audience) ? audience : [audience];
121
+ const hasValidAudience = expectedAud.some((aud) => tokenAud.includes(aud));
122
+ if (!hasValidAudience) {
123
+ return {
124
+ valid: false,
125
+ error: `Invalid audience: expected one of ${expectedAud.join(', ')}, got ${tokenAud.join(', ')}`,
126
+ header,
127
+ payload,
128
+ };
129
+ }
130
+ }
131
+ return { valid: true, payload, header };
132
+ }
133
+ catch (err) {
134
+ return {
135
+ valid: false,
136
+ error: err instanceof Error ? err.message : 'Unknown error during verification',
137
+ };
138
+ }
139
+ }
140
+ /**
141
+ * Decode a JWT without verifying the signature
142
+ * Useful for inspecting tokens before verification
143
+ *
144
+ * @param token - The JWT token to decode
145
+ * @returns Decoded header and payload, or null if invalid format
146
+ */
147
+ export function decodeJWT(token) {
148
+ try {
149
+ const parts = token.split('.');
150
+ if (parts.length !== 3) {
151
+ return null;
152
+ }
153
+ const header = JSON.parse(decodeBase64Url(parts[0]));
154
+ const payload = JSON.parse(decodeBase64Url(parts[1]));
155
+ return { header, payload };
156
+ }
157
+ catch {
158
+ return null;
159
+ }
160
+ }
161
+ /**
162
+ * Check if a JWT is expired (without full verification)
163
+ *
164
+ * @param token - The JWT token to check
165
+ * @param clockTolerance - Tolerance in seconds (default: 0)
166
+ * @returns true if expired, false if valid or no exp claim
167
+ */
168
+ export function isJWTExpired(token, clockTolerance = 0) {
169
+ const decoded = decodeJWT(token);
170
+ if (!decoded || decoded.payload.exp === undefined) {
171
+ return false;
172
+ }
173
+ const now = Math.floor(Date.now() / 1000);
174
+ return now > decoded.payload.exp + clockTolerance;
175
+ }
176
+ // ═══════════════════════════════════════════════════════════════════════════
177
+ // Internal Helper Functions
178
+ // ═══════════════════════════════════════════════════════════════════════════
179
+ /**
180
+ * Decode a base64url-encoded string to a regular string
181
+ */
182
+ function decodeBase64Url(str) {
183
+ const buffer = base64UrlDecode(str);
184
+ return new TextDecoder().decode(buffer);
185
+ }
186
+ /**
187
+ * Check if an algorithm is supported
188
+ */
189
+ function isSupportedAlgorithm(alg) {
190
+ return ['RS256', 'RS384', 'RS512', 'ES256', 'ES384', 'ES512'].includes(alg);
191
+ }
192
+ /**
193
+ * Get algorithm parameters for Web Crypto API
194
+ */
195
+ function getAlgorithmParams(alg) {
196
+ switch (alg) {
197
+ case 'RS256':
198
+ return { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' };
199
+ case 'RS384':
200
+ return { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-384' };
201
+ case 'RS512':
202
+ return { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-512' };
203
+ case 'ES256':
204
+ return { name: 'ECDSA', hash: 'SHA-256', namedCurve: 'P-256' };
205
+ case 'ES384':
206
+ return { name: 'ECDSA', hash: 'SHA-384', namedCurve: 'P-384' };
207
+ case 'ES512':
208
+ return { name: 'ECDSA', hash: 'SHA-512', namedCurve: 'P-521' };
209
+ default:
210
+ throw new Error(`Unsupported algorithm: ${alg}`);
211
+ }
212
+ }
213
+ /**
214
+ * Verify JWT signature
215
+ */
216
+ async function verifySignature(data, signature, key, alg) {
217
+ const encoder = new TextEncoder();
218
+ const dataBytes = encoder.encode(data);
219
+ let signatureBytes = new Uint8Array(base64UrlDecode(signature));
220
+ const params = getAlgorithmParams(alg);
221
+ // For ECDSA, the signature needs to be in the correct format
222
+ if (params.name === 'ECDSA') {
223
+ signatureBytes = convertJWTSignatureToWebCrypto(signatureBytes, alg);
224
+ }
225
+ const algorithm = params.name === 'ECDSA' ? { name: 'ECDSA', hash: params.hash } : { name: params.name };
226
+ return crypto.subtle.verify(algorithm, key, signatureBytes, dataBytes);
227
+ }
228
+ /**
229
+ * Convert JWT ECDSA signature (r||s concatenation) to WebCrypto format
230
+ * JWT uses IEEE P1363 format, WebCrypto uses the same for ECDSA
231
+ */
232
+ function convertJWTSignatureToWebCrypto(signature, alg) {
233
+ // JWT signatures for ECDSA are already in the r||s format that WebCrypto expects
234
+ // Just need to verify the length is correct
235
+ const expectedLength = alg === 'ES256' ? 64 : alg === 'ES384' ? 96 : 132;
236
+ if (signature.length !== expectedLength) {
237
+ // If signature is DER encoded, we might need to convert it
238
+ // For now, return as-is and let verification fail if format is wrong
239
+ }
240
+ return signature;
241
+ }
242
+ /**
243
+ * Fetch and cache JWKS from a URL
244
+ */
245
+ async function getKeyFromJWKS(jwksUrl, kid, alg) {
246
+ // Check cache
247
+ const cached = jwksCache.get(jwksUrl);
248
+ if (cached && cached.expiresAt > Date.now()) {
249
+ if (kid && cached.keys.has(kid)) {
250
+ return cached.keys.get(kid);
251
+ }
252
+ // If no kid specified, try to find a key by algorithm
253
+ if (!kid) {
254
+ for (const key of cached.keys.values()) {
255
+ return key; // Return first available key
256
+ }
257
+ }
258
+ }
259
+ // Fetch JWKS
260
+ const response = await fetch(jwksUrl);
261
+ if (!response.ok) {
262
+ throw new Error(`Failed to fetch JWKS: ${response.status} ${response.statusText}`);
263
+ }
264
+ const jwks = await response.json();
265
+ const keys = new Map();
266
+ for (const jwk of jwks.keys) {
267
+ try {
268
+ const cryptoKey = await importJWK(jwk, alg);
269
+ if (cryptoKey) {
270
+ const keyId = jwk.kid || `${jwk.kty}-${jwk.alg || alg}`;
271
+ keys.set(keyId, cryptoKey);
272
+ }
273
+ }
274
+ catch {
275
+ // Skip keys that fail to import
276
+ continue;
277
+ }
278
+ }
279
+ // Cache the keys
280
+ jwksCache.set(jwksUrl, {
281
+ keys,
282
+ expiresAt: Date.now() + JWKS_CACHE_TTL,
283
+ });
284
+ // Find the right key
285
+ if (kid && keys.has(kid)) {
286
+ return keys.get(kid);
287
+ }
288
+ // If no kid, return first compatible key
289
+ if (!kid && keys.size > 0) {
290
+ return keys.values().next().value ?? null;
291
+ }
292
+ return null;
293
+ }
294
+ /**
295
+ * Import a JWK as a CryptoKey
296
+ */
297
+ async function importJWK(jwk, expectedAlg) {
298
+ const params = getAlgorithmParams(expectedAlg);
299
+ if (jwk.kty === 'RSA' && params.name.startsWith('RSA')) {
300
+ if (!jwk.n || !jwk.e) {
301
+ return null;
302
+ }
303
+ return crypto.subtle.importKey('jwk', {
304
+ kty: 'RSA',
305
+ n: jwk.n,
306
+ e: jwk.e,
307
+ alg: expectedAlg,
308
+ use: 'sig',
309
+ }, {
310
+ name: params.name,
311
+ hash: params.hash,
312
+ }, false, ['verify']);
313
+ }
314
+ if (jwk.kty === 'EC' && params.name === 'ECDSA') {
315
+ if (!jwk.x || !jwk.y || !jwk.crv) {
316
+ return null;
317
+ }
318
+ return crypto.subtle.importKey('jwk', {
319
+ kty: 'EC',
320
+ x: jwk.x,
321
+ y: jwk.y,
322
+ crv: jwk.crv,
323
+ use: 'sig',
324
+ }, {
325
+ name: 'ECDSA',
326
+ namedCurve: jwk.crv,
327
+ }, false, ['verify']);
328
+ }
329
+ return null;
330
+ }
331
+ /**
332
+ * Clear the JWKS cache (useful for testing)
333
+ */
334
+ export function clearJWKSCache() {
335
+ jwksCache.clear();
336
+ }
337
+ //# sourceMappingURL=jwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -92,4 +92,6 @@ export interface OAuth21Server extends Hono {
92
92
  * ```
93
93
  */
94
94
  export declare function createOAuth21Server(config: OAuth21ServerConfig): OAuth21Server;
95
+ export { verifyJWT, decodeJWT, isJWTExpired, clearJWKSCache } from './jwt.js';
96
+ export type { JWTVerifyResult, JWTVerifyOptions, JWTPayload, JWTHeader } from './jwt.js';
95
97
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAIV,SAAS,EAGT,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAQnB,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,WAAW,EAGjB,MAAM,UAAU,CAAA;AAEjB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,OAAO,EAAE,YAAY,CAAA;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,mEAAmE;IACnE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI;IACzC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CA2gB9E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAIV,SAAS,EAGT,mBAAmB,EACpB,MAAM,YAAY,CAAA;AAQnB,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,WAAW,EAGjB,MAAM,UAAU,CAAA;AAEjB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,OAAO,EAAE,YAAY,CAAA;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,mEAAmE;IACnE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI;IACzC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CA2gB9E;AAwUD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC7E,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA"}
package/dist/server.js CHANGED
@@ -723,4 +723,9 @@ async function handleRefreshTokenGrant(c, params, storage, accessTokenTtl, refre
723
723
  };
724
724
  return c.json(response);
725
725
  }
726
+ // ═══════════════════════════════════════════════════════════════════════════
727
+ // JWT Verification Re-exports
728
+ // ═══════════════════════════════════════════════════════════════════════════
729
+ // Re-export JWT verification utilities for downstream consumers
730
+ export { verifyJWT, decodeJWT, isJWTExpired, clearJWKSCache } from './jwt.js';
726
731
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dotdo/oauth",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "OAuth 2.1 server implementation for MCP - the leaf package with zero dependencies on @dotdo/do or oauth.do",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,6 +22,10 @@
22
22
  "./pkce": {
23
23
  "types": "./dist/pkce.d.ts",
24
24
  "import": "./dist/pkce.js"
25
+ },
26
+ "./jwt": {
27
+ "types": "./dist/jwt.d.ts",
28
+ "import": "./dist/jwt.js"
25
29
  }
26
30
  },
27
31
  "files": [