@maronn-openid-connect/experimental 0.0.5 → 0.0.7

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.
Files changed (68) hide show
  1. package/README.md +3 -5
  2. package/dist/ciba/backchannel-authentication-request.d.ts +31 -0
  3. package/dist/ciba/backchannel-authentication-request.d.ts.map +1 -0
  4. package/dist/ciba/backchannel-authentication-request.js +132 -0
  5. package/dist/ciba/backchannel-authentication-request.js.map +1 -0
  6. package/dist/ciba/ciba-grant.d.ts +17 -0
  7. package/dist/ciba/ciba-grant.d.ts.map +1 -0
  8. package/dist/ciba/ciba-grant.js +55 -0
  9. package/dist/ciba/ciba-grant.js.map +1 -0
  10. package/dist/ciba/errors.d.ts +19 -0
  11. package/dist/ciba/errors.d.ts.map +1 -0
  12. package/dist/ciba/errors.js +38 -0
  13. package/dist/ciba/errors.js.map +1 -0
  14. package/dist/ciba/index.d.ts +10 -0
  15. package/dist/ciba/index.d.ts.map +1 -0
  16. package/dist/ciba/index.js +6 -0
  17. package/dist/ciba/index.js.map +1 -0
  18. package/dist/ciba/store.d.ts +44 -0
  19. package/dist/ciba/store.d.ts.map +1 -0
  20. package/dist/ciba/store.js +73 -0
  21. package/dist/ciba/store.js.map +1 -0
  22. package/dist/ciba/verification.d.ts +37 -0
  23. package/dist/ciba/verification.d.ts.map +1 -0
  24. package/dist/ciba/verification.js +105 -0
  25. package/dist/ciba/verification.js.map +1 -0
  26. package/dist/device-authorization-grant/device-code-grant.js.map +1 -1
  27. package/dist/device-authorization-grant/errors.d.ts.map +1 -1
  28. package/dist/device-authorization-grant/verification.d.ts.map +1 -1
  29. package/dist/device-authorization-grant/verification.js.map +1 -1
  30. package/dist/id-jag/errors.d.ts +11 -0
  31. package/dist/id-jag/errors.d.ts.map +1 -0
  32. package/dist/id-jag/errors.js +19 -0
  33. package/dist/id-jag/errors.js.map +1 -0
  34. package/dist/id-jag/index.d.ts +4 -0
  35. package/dist/id-jag/index.d.ts.map +1 -0
  36. package/dist/id-jag/index.js +4 -0
  37. package/dist/id-jag/index.js.map +1 -0
  38. package/dist/id-jag/issue-id-jag.d.ts +138 -0
  39. package/dist/id-jag/issue-id-jag.d.ts.map +1 -0
  40. package/dist/id-jag/issue-id-jag.js +359 -0
  41. package/dist/id-jag/issue-id-jag.js.map +1 -0
  42. package/dist/id-jag/redeem-id-jag.d.ts +65 -0
  43. package/dist/id-jag/redeem-id-jag.d.ts.map +1 -0
  44. package/dist/id-jag/redeem-id-jag.js +305 -0
  45. package/dist/id-jag/redeem-id-jag.js.map +1 -0
  46. package/dist/jarm/response-mode.d.ts +1 -1
  47. package/dist/jarm/response-mode.d.ts.map +1 -1
  48. package/dist/jwt-introspection-response/accept.d.ts +3 -0
  49. package/dist/jwt-introspection-response/accept.d.ts.map +1 -0
  50. package/dist/jwt-introspection-response/accept.js +11 -0
  51. package/dist/jwt-introspection-response/accept.js.map +1 -0
  52. package/dist/jwt-introspection-response/audience.d.ts +3 -0
  53. package/dist/jwt-introspection-response/audience.d.ts.map +1 -0
  54. package/dist/jwt-introspection-response/audience.js +17 -0
  55. package/dist/jwt-introspection-response/audience.js.map +1 -0
  56. package/dist/jwt-introspection-response/index.d.ts +4 -0
  57. package/dist/jwt-introspection-response/index.d.ts.map +1 -0
  58. package/dist/jwt-introspection-response/index.js +4 -0
  59. package/dist/jwt-introspection-response/index.js.map +1 -0
  60. package/dist/jwt-introspection-response/response-jwt.d.ts +10 -0
  61. package/dist/jwt-introspection-response/response-jwt.d.ts.map +1 -0
  62. package/dist/jwt-introspection-response/response-jwt.js +32 -0
  63. package/dist/jwt-introspection-response/response-jwt.js.map +1 -0
  64. package/dist/par/par-request.d.ts.map +1 -1
  65. package/dist/par/par-request.js.map +1 -1
  66. package/dist/par/resolve-request-uri.d.ts.map +1 -1
  67. package/dist/token-exchange/token-exchange-request.d.ts.map +1 -1
  68. package/package.json +18 -6
@@ -0,0 +1,305 @@
1
+ import { extractAlgorithmParamsFromJwk, } from '@maronn-openid-connect/core';
2
+ import { ASSERTION_UNTRUSTED_DESCRIPTION, IdJagError, } from './errors.js';
3
+ import { ID_JAG_JWT_TYP } from './issue-id-jag.js';
4
+ export const JWT_BEARER_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:jwt-bearer';
5
+ export const DEFAULT_ASSERTION_CLOCK_SKEW_SEC = 60;
6
+ const FORBIDDEN_KEY_HEADERS = ['jku', 'x5u', 'jwk', 'x5c'];
7
+ export function authorizeIdJagRedemptionClient(client) {
8
+ const grantTypes = client.grantTypes ?? ['authorization_code'];
9
+ if (!grantTypes.includes(JWT_BEARER_GRANT_TYPE)) {
10
+ throw new IdJagError('unauthorized_client', 'The client is not authorized to use the jwt-bearer grant type');
11
+ }
12
+ if (client.tokenEndpointAuthMethod === 'none') {
13
+ throw new IdJagError('unauthorized_client', 'Public clients are not allowed to use the jwt-bearer grant type');
14
+ }
15
+ }
16
+ export function parseIdJagRedemptionParams(params) {
17
+ const assertion = optional(params['assertion']);
18
+ if (assertion === undefined) {
19
+ throw new IdJagError('invalid_request', 'assertion is required');
20
+ }
21
+ if (optional(params['authorization_details']) !== undefined) {
22
+ throw new IdJagError('invalid_request', 'authorization_details is not supported for the jwt-bearer grant');
23
+ }
24
+ return {
25
+ assertion,
26
+ scope: optional(params['scope']),
27
+ };
28
+ }
29
+ export async function verifyIdJagAssertion(options) {
30
+ const leeway = options.clockSkewToleranceSec ?? DEFAULT_ASSERTION_CLOCK_SKEW_SEC;
31
+ const parts = options.assertion.split('.');
32
+ if (parts.length !== 3) {
33
+ throw invalidAssertion('The provided assertion is not a valid JWS compact serialization');
34
+ }
35
+ const [headerB64, payloadB64, signatureB64] = parts;
36
+ let header;
37
+ let payload;
38
+ try {
39
+ header = parseBase64UrlJson(headerB64);
40
+ payload = parseBase64UrlJson(payloadB64);
41
+ }
42
+ catch {
43
+ throw invalidAssertion('The provided assertion is not a valid JWS compact serialization');
44
+ }
45
+ if (!isIdJagTyp(header['typ'])) {
46
+ throw invalidAssertion(`The assertion typ must be ${ID_JAG_JWT_TYP}`);
47
+ }
48
+ const headerAlg = typeof header['alg'] === 'string' ? header['alg'] : undefined;
49
+ if (!headerAlg || headerAlg === 'none') {
50
+ throw invalidAssertion('The assertion alg is missing or "none"');
51
+ }
52
+ for (const field of FORBIDDEN_KEY_HEADERS) {
53
+ if (field in header) {
54
+ throw invalidAssertion(`The assertion JOSE header contains unsupported field: ${field}`);
55
+ }
56
+ }
57
+ const iss = payload['iss'];
58
+ if (typeof iss !== 'string' || iss.length === 0) {
59
+ throw invalidAssertion(ASSERTION_UNTRUSTED_DESCRIPTION);
60
+ }
61
+ if (iss === options.issuer) {
62
+ throw invalidAssertion('An assertion issued by this authorization server cannot be redeemed here');
63
+ }
64
+ const identityProvider = options.identityProviders.find((idp) => idp.issuer === iss);
65
+ if (identityProvider === undefined) {
66
+ throw invalidAssertion(ASSERTION_UNTRUSTED_DESCRIPTION);
67
+ }
68
+ const headerKid = typeof header['kid'] === 'string' ? header['kid'] : undefined;
69
+ const candidates = headerKid
70
+ ? identityProvider.jwks.keys.filter((key) => key.kid === headerKid)
71
+ : identityProvider.jwks.keys.filter((key) => key.alg === headerAlg);
72
+ const signingInput = `${headerB64}.${payloadB64}`;
73
+ let signatureValid = false;
74
+ for (const jwk of candidates) {
75
+ if (jwk.alg !== headerAlg) {
76
+ continue;
77
+ }
78
+ if (await verifySignature(signingInput, signatureB64, jwk)) {
79
+ signatureValid = true;
80
+ break;
81
+ }
82
+ }
83
+ if (!signatureValid) {
84
+ throw invalidAssertion(ASSERTION_UNTRUSTED_DESCRIPTION);
85
+ }
86
+ const aud = payload['aud'];
87
+ const audMatches = aud === options.issuer ||
88
+ (Array.isArray(aud) && aud.length === 1 && aud[0] === options.issuer);
89
+ if (!audMatches) {
90
+ throw invalidAssertion('The assertion audience does not match this authorization server');
91
+ }
92
+ const nowSeconds = Math.floor((options.now ?? new Date()).getTime() / 1000);
93
+ const exp = payload['exp'];
94
+ if (typeof exp !== 'number') {
95
+ throw invalidAssertion('The assertion is missing an exp claim');
96
+ }
97
+ if (exp + leeway < nowSeconds) {
98
+ throw invalidAssertion('The assertion has expired');
99
+ }
100
+ const iat = payload['iat'];
101
+ if (typeof iat !== 'number') {
102
+ throw invalidAssertion('The assertion is missing an iat claim');
103
+ }
104
+ if (iat > nowSeconds + leeway) {
105
+ throw invalidAssertion('The assertion iat is in the future');
106
+ }
107
+ const nbf = payload['nbf'];
108
+ if (nbf !== undefined) {
109
+ if (typeof nbf !== 'number' || nbf > nowSeconds + leeway) {
110
+ throw invalidAssertion('The assertion is not yet valid');
111
+ }
112
+ }
113
+ const jti = payload['jti'];
114
+ if (typeof jti !== 'string' || jti.length === 0) {
115
+ throw invalidAssertion('The assertion is missing a jti claim');
116
+ }
117
+ const sub = payload['sub'];
118
+ if (typeof sub !== 'string' || sub.length === 0) {
119
+ throw invalidAssertion('The assertion is missing a sub claim');
120
+ }
121
+ const clientId = payload['client_id'];
122
+ if (typeof clientId !== 'string' || clientId.length === 0) {
123
+ throw invalidAssertion('The assertion is missing a client_id claim');
124
+ }
125
+ if (clientId !== options.clientId) {
126
+ throw invalidAssertion('The assertion client_id does not match the authenticated client');
127
+ }
128
+ const scope = payload['scope'];
129
+ if (scope !== undefined && typeof scope !== 'string') {
130
+ throw invalidAssertion('The assertion scope claim must be a string');
131
+ }
132
+ const resource = payload['resource'];
133
+ if (resource !== undefined &&
134
+ typeof resource !== 'string' &&
135
+ !(Array.isArray(resource) && resource.every((value) => typeof value === 'string'))) {
136
+ throw invalidAssertion('The assertion resource claim must be a string or an array of strings');
137
+ }
138
+ const authTime = typeof payload['auth_time'] === 'number' ? payload['auth_time'] : undefined;
139
+ const acr = typeof payload['acr'] === 'string' ? payload['acr'] : undefined;
140
+ const amr = Array.isArray(payload['amr']) && payload['amr'].every((value) => typeof value === 'string')
141
+ ? payload['amr']
142
+ : undefined;
143
+ const act = payload['act'];
144
+ if (act !== undefined && !isValidActorChain(act)) {
145
+ throw invalidAssertion('The assertion act claim is malformed');
146
+ }
147
+ return {
148
+ iss,
149
+ sub,
150
+ aud: aud,
151
+ client_id: clientId,
152
+ jti,
153
+ exp,
154
+ iat,
155
+ ...(scope === undefined ? {} : { scope }),
156
+ ...(resource === undefined ? {} : { resource: resource }),
157
+ ...(authTime === undefined ? {} : { auth_time: authTime }),
158
+ ...(acr === undefined ? {} : { acr }),
159
+ ...(amr === undefined ? {} : { amr }),
160
+ ...(act === undefined ? {} : { act: act }),
161
+ };
162
+ }
163
+ export function resolveIdJagGrantScope(requestedScope, assertionScope) {
164
+ const granted = splitScope(assertionScope).filter((value) => value !== 'offline_access');
165
+ const requested = splitScope(requestedScope);
166
+ if (requested.length === 0) {
167
+ return granted;
168
+ }
169
+ for (const value of requested) {
170
+ if (!granted.includes(value)) {
171
+ throw new IdJagError('invalid_scope', 'The requested scope exceeds the scope of the assertion');
172
+ }
173
+ }
174
+ return requested;
175
+ }
176
+ export async function processIdJagRedemptionRequest(context) {
177
+ if (!Number.isInteger(context.configuredExpiresIn) || context.configuredExpiresIn <= 0) {
178
+ throw new RangeError(`configuredExpiresIn must be a positive integer, received ${context.configuredExpiresIn}`);
179
+ }
180
+ authorizeIdJagRedemptionClient(context.client);
181
+ const parsed = parseIdJagRedemptionParams(context.params);
182
+ const assertion = await verifyIdJagAssertion({
183
+ assertion: parsed.assertion,
184
+ issuer: context.issuer,
185
+ clientId: context.client.clientId,
186
+ identityProviders: context.identityProviders,
187
+ ...(context.now === undefined ? {} : { now: context.now }),
188
+ ...(context.clockSkewToleranceSec === undefined
189
+ ? {}
190
+ : { clockSkewToleranceSec: context.clockSkewToleranceSec }),
191
+ });
192
+ const scope = resolveIdJagGrantScope(parsed.scope, assertion.scope);
193
+ const requestedResources = assertion.resource === undefined
194
+ ? undefined
195
+ : typeof assertion.resource === 'string'
196
+ ? [assertion.resource]
197
+ : [...assertion.resource];
198
+ return {
199
+ subject: assertion.sub,
200
+ clientId: context.client.clientId,
201
+ scope,
202
+ ...(requestedResources === undefined ? {} : { requestedResources }),
203
+ expiresIn: context.configuredExpiresIn,
204
+ idpIssuer: assertion.iss,
205
+ jti: assertion.jti,
206
+ ...(assertion.auth_time === undefined ? {} : { authTime: assertion.auth_time }),
207
+ ...(assertion.acr === undefined ? {} : { acr: assertion.acr }),
208
+ ...(assertion.amr === undefined ? {} : { amr: assertion.amr }),
209
+ ...(assertion.act === undefined ? {} : { actor: assertion.act }),
210
+ };
211
+ }
212
+ function optional(value) {
213
+ if (value === undefined)
214
+ return undefined;
215
+ const trimmed = value.trim();
216
+ return trimmed.length === 0 ? undefined : trimmed;
217
+ }
218
+ function splitScope(scope) {
219
+ if (scope === undefined)
220
+ return [];
221
+ return [...new Set(scope.split(/\s+/).filter((value) => value.length > 0))];
222
+ }
223
+ function invalidAssertion(description) {
224
+ return new IdJagError('invalid_grant', description);
225
+ }
226
+ function isValidActorChain(value) {
227
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
228
+ return false;
229
+ }
230
+ const actor = value;
231
+ if (typeof actor.sub !== 'string' || actor.sub.length === 0) {
232
+ return false;
233
+ }
234
+ if (actor.act !== undefined && !isValidActorChain(actor.act)) {
235
+ return false;
236
+ }
237
+ return true;
238
+ }
239
+ function isIdJagTyp(typ) {
240
+ if (typeof typ !== 'string')
241
+ return false;
242
+ const normalized = typ.toLowerCase();
243
+ return normalized === ID_JAG_JWT_TYP || normalized === `application/${ID_JAG_JWT_TYP}`;
244
+ }
245
+ function parseBase64UrlJson(segment) {
246
+ if (!/^[A-Za-z0-9_-]+$/.test(segment)) {
247
+ throw new Error('invalid base64url');
248
+ }
249
+ const base64 = segment.replace(/-/g, '+').replace(/_/g, '/');
250
+ const padded = base64 + '='.repeat((4 - (base64.length % 4)) % 4);
251
+ const binary = atob(padded);
252
+ const bytes = new Uint8Array(binary.length);
253
+ for (let i = 0; i < binary.length; i++) {
254
+ bytes[i] = binary.charCodeAt(i);
255
+ }
256
+ const parsed = JSON.parse(new TextDecoder().decode(bytes));
257
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
258
+ throw new Error('not a JSON object');
259
+ }
260
+ return parsed;
261
+ }
262
+ function base64UrlToArrayBuffer(segment) {
263
+ if (!/^[A-Za-z0-9_-]*$/.test(segment)) {
264
+ throw new Error('invalid base64url');
265
+ }
266
+ const base64 = segment.replace(/-/g, '+').replace(/_/g, '/');
267
+ const padded = base64 + '='.repeat((4 - (base64.length % 4)) % 4);
268
+ const binary = atob(padded);
269
+ const bytes = new Uint8Array(binary.length);
270
+ for (let i = 0; i < binary.length; i++) {
271
+ bytes[i] = binary.charCodeAt(i);
272
+ }
273
+ return bytes.buffer;
274
+ }
275
+ async function verifySignature(signingInput, signatureB64, jwk) {
276
+ let signature;
277
+ try {
278
+ signature = base64UrlToArrayBuffer(signatureB64);
279
+ }
280
+ catch {
281
+ return false;
282
+ }
283
+ try {
284
+ const algParams = extractAlgorithmParamsFromJwk(jwk);
285
+ const publicKey = await crypto.subtle.importKey('jwk', jwk, algParams, false, ['verify']);
286
+ const algorithm = publicKey.algorithm;
287
+ let verifyParams;
288
+ if (algorithm.name === 'RSASSA-PKCS1-v1_5') {
289
+ verifyParams = { name: 'RSASSA-PKCS1-v1_5' };
290
+ }
291
+ else if (algorithm.name === 'ECDSA' && 'namedCurve' in algorithm) {
292
+ const namedCurve = algorithm.namedCurve;
293
+ const hash = namedCurve === 'P-256' ? 'SHA-256' : namedCurve === 'P-384' ? 'SHA-384' : 'SHA-512';
294
+ verifyParams = { name: 'ECDSA', hash };
295
+ }
296
+ else {
297
+ return false;
298
+ }
299
+ return await crypto.subtle.verify(verifyParams, publicKey, signature, new TextEncoder().encode(signingInput));
300
+ }
301
+ catch {
302
+ return false;
303
+ }
304
+ }
305
+ //# sourceMappingURL=redeem-id-jag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redeem-id-jag.js","sourceRoot":"","sources":["../../src/id-jag/redeem-id-jag.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const JARM_SUPPORTED_RESPONSE_MODES: readonly ["query.jwt", "jwt"];
1
+ export declare const JARM_SUPPORTED_RESPONSE_MODES: readonly ['query.jwt', 'jwt'];
2
2
  export declare const JARM_RESPONSE_PARAM = "response";
3
3
  export type JarmResponseModeResolution = {
4
4
  kind: 'jarm';
@@ -1 +1 @@
1
- {"version":3,"file":"response-mode.d.ts","sourceRoot":"","sources":["../../src/jarm/response-mode.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,6BAA6B,+BAAgC,CAAC;AAG3E,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAU9C,MAAM,MAAM,0BAA0B,GAElC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAEnC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAEjB;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBxD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,0BAA0B,CAgBlF"}
1
+ {"version":3,"file":"response-mode.d.ts","sourceRoot":"","sources":["../../src/jarm/response-mode.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,6BAA6B,YAAI,WAAW,EAAE,KAAK,CAAU,CAAC;AAG3E,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAU9C,MAAM,MAAM,0BAA0B,GAElC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAEnC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAEjB;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBxD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,0BAA0B,CAgBlF"}
@@ -0,0 +1,3 @@
1
+ export declare const TOKEN_INTROSPECTION_JWT_MEDIA_TYPE = "application/token-introspection+jwt";
2
+ export declare function acceptsIntrospectionJwt(acceptHeader: string | null | undefined): boolean;
3
+ //# sourceMappingURL=accept.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../src/jwt-introspection-response/accept.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AAWxF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAQxF"}
@@ -0,0 +1,11 @@
1
+ export const TOKEN_INTROSPECTION_JWT_MEDIA_TYPE = 'application/token-introspection+jwt';
2
+ export function acceptsIntrospectionJwt(acceptHeader) {
3
+ if (acceptHeader === null || acceptHeader === undefined || acceptHeader === '') {
4
+ return false;
5
+ }
6
+ return acceptHeader.split(',').some((element) => {
7
+ const mediaType = element.split(';')[0]?.trim().toLowerCase();
8
+ return mediaType === TOKEN_INTROSPECTION_JWT_MEDIA_TYPE;
9
+ });
10
+ }
11
+ //# sourceMappingURL=accept.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../src/jwt-introspection-response/accept.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,kCAAkC,GAAG,qCAAqC,CAAC;AAWxF,MAAM,UAAU,uBAAuB,CAAC,YAAuC;IAC7E,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;QAC/E,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9D,OAAO,SAAS,KAAK,kCAAkC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type IntrospectionResponse } from '@maronn-openid-connect/core';
2
+ export declare function restrictIntrospectionResponseToCaller(response: IntrospectionResponse, callerClientId: string): IntrospectionResponse;
3
+ //# sourceMappingURL=audience.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../../src/jwt-introspection-response/audience.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AAcrC,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,qBAAqB,EAC/B,cAAc,EAAE,MAAM,GACrB,qBAAqB,CAcvB"}
@@ -0,0 +1,17 @@
1
+ import { INACTIVE_INTROSPECTION_RESPONSE, } from '@maronn-openid-connect/core';
2
+ export function restrictIntrospectionResponseToCaller(response, callerClientId) {
3
+ if (!response.active) {
4
+ return response;
5
+ }
6
+ if (response.client_id === callerClientId) {
7
+ return response;
8
+ }
9
+ if (response.aud === callerClientId) {
10
+ return response;
11
+ }
12
+ if (Array.isArray(response.aud) && response.aud.includes(callerClientId)) {
13
+ return response;
14
+ }
15
+ return INACTIVE_INTROSPECTION_RESPONSE;
16
+ }
17
+ //# sourceMappingURL=audience.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audience.js","sourceRoot":"","sources":["../../src/jwt-introspection-response/audience.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,+BAA+B,GAEhC,MAAM,6BAA6B,CAAC;AAcrC,MAAM,UAAU,qCAAqC,CACnD,QAA+B,EAC/B,cAAsB;IAEtB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { TOKEN_INTROSPECTION_JWT_MEDIA_TYPE, acceptsIntrospectionJwt, } from './accept.js';
2
+ export { restrictIntrospectionResponseToCaller } from './audience.js';
3
+ export { TOKEN_INTROSPECTION_JWT_TYP, createIntrospectionResponseJwt, } from './response-jwt.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jwt-introspection-response/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,kCAAkC,EAClC,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { TOKEN_INTROSPECTION_JWT_MEDIA_TYPE, acceptsIntrospectionJwt, } from './accept.js';
2
+ export { restrictIntrospectionResponseToCaller } from './audience.js';
3
+ export { TOKEN_INTROSPECTION_JWT_TYP, createIntrospectionResponseJwt, } from './response-jwt.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jwt-introspection-response/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,kCAAkC,EAClC,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { IntrospectionResponse, SigningKey } from '@maronn-openid-connect/core';
2
+ export declare const TOKEN_INTROSPECTION_JWT_TYP = "token-introspection+jwt";
3
+ export declare function createIntrospectionResponseJwt(options: {
4
+ issuer: string;
5
+ audience: string;
6
+ introspection: IntrospectionResponse;
7
+ signingKey: SigningKey;
8
+ now?: Date;
9
+ }): Promise<string>;
10
+ //# sourceMappingURL=response-jwt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-jwt.d.ts","sourceRoot":"","sources":["../../src/jwt-introspection-response/response-jwt.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AASrF,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAyDrE,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,qBAAqB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BlB"}
@@ -0,0 +1,32 @@
1
+ export const TOKEN_INTROSPECTION_JWT_TYP = 'token-introspection+jwt';
2
+ const RESPONSE_SIGNING_ALG = 'RS256';
3
+ const WEB_CRYPTO_ALGORITHM = 'RSASSA-PKCS1-v1_5';
4
+ function base64UrlFromBytes(bytes) {
5
+ let binary = '';
6
+ for (const byte of bytes) {
7
+ binary += String.fromCharCode(byte);
8
+ }
9
+ return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
10
+ }
11
+ function base64UrlFromJson(value) {
12
+ return base64UrlFromBytes(new TextEncoder().encode(JSON.stringify(value)));
13
+ }
14
+ export async function createIntrospectionResponseJwt(options) {
15
+ const issuedAtSeconds = Math.floor((options.now ?? new Date()).getTime() / 1000);
16
+ const claims = {
17
+ iss: options.issuer,
18
+ aud: options.audience,
19
+ iat: issuedAtSeconds,
20
+ token_introspection: options.introspection,
21
+ };
22
+ const encodedHeader = base64UrlFromJson({
23
+ typ: TOKEN_INTROSPECTION_JWT_TYP,
24
+ alg: RESPONSE_SIGNING_ALG,
25
+ kid: options.signingKey.keyId,
26
+ });
27
+ const encodedPayload = base64UrlFromJson(claims);
28
+ const signingInput = `${encodedHeader}.${encodedPayload}`;
29
+ const signature = await crypto.subtle.sign(WEB_CRYPTO_ALGORITHM, options.signingKey.privateKey, new TextEncoder().encode(signingInput));
30
+ return `${signingInput}.${base64UrlFromBytes(new Uint8Array(signature))}`;
31
+ }
32
+ //# sourceMappingURL=response-jwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-jwt.js","sourceRoot":"","sources":["../../src/jwt-introspection-response/response-jwt.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AAYrE,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAGrC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD,SAAS,kBAAkB,CAAC,KAAiB;IAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA8B;IACvD,OAAO,kBAAkB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AA8BD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAMpD;IACC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAIjF,MAAM,MAAM,GAA4B;QACtC,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,GAAG,EAAE,OAAO,CAAC,QAAQ;QACrB,GAAG,EAAE,eAAe;QACpB,mBAAmB,EAAE,OAAO,CAAC,aAAa;KAC3C,CAAC;IAEF,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACtC,GAAG,EAAE,2BAA2B;QAChC,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;KAC9B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,GAAG,aAAa,IAAI,cAAc,EAAE,CAAC;IAE1D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACxC,oBAAoB,EACpB,OAAO,CAAC,UAAU,CAAC,UAAU,EAC7B,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CACvC,CAAC;IAEF,OAAO,GAAG,YAAY,IAAI,kBAAkB,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"par-request.d.ts","sourceRoot":"","sources":["../../src/par/par-request.ts"],"names":[],"mappings":"AAQA,OAAO,EASL,4BAA4B,EAI5B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,mCAAmC,EACzC,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACV,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,qBAAqB,GACrB,2BAA2B,CAAC;AAQhC,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEtB,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM;IAUxD,IAAI,UAAU,IAAI,GAAG,GAAG,GAAG,CAE1B;IAGD,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;CACF;AAGD,MAAM,WAAW,2BAA2B;IAE1C,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,iCAAiC;IAEhD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,cAAc,EAAE,cAAc,GAAG,mBAAmB,CAAC;IACrD,KAAK,EAAE,+BAA+B,CAAC;IAEvC,iBAAiB,EAAE,mCAAmC,CAAC;IAEvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAkBD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAU/D;AAUD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAa7E;AAoBD,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,mBAAmB,CAAC;CACrC,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClB;AAkCD,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAUnE;AAqBD,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,+BAA+B,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAmBrC;AAGD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,yBAAyB,GAChC,2BAA2B,CAK7B;AAUD,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAsBtC"}
1
+ {"version":3,"file":"par-request.d.ts","sourceRoot":"","sources":["../../src/par/par-request.ts"],"names":[],"mappings":"AAQA,OAAO,EASL,4BAA4B,EAI5B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,mCAAmC,EACzC,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACV,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,qBAAqB,GACrB,2BAA2B,CAAC;AAQhC,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,YAAY,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAOvD;IAGD,IAAI,UAAU,IAAI,GAAG,GAAG,GAAG,CAE1B;IAGD,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;CACF;AAGD,MAAM,WAAW,2BAA2B;IAE1C,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,iCAAiC;IAEhD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,cAAc,EAAE,cAAc,GAAG,mBAAmB,CAAC;IACrD,KAAK,EAAE,+BAA+B,CAAC;IAEvC,iBAAiB,EAAE,mCAAmC,CAAC;IAEvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAkBD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAU/D;AAUD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAa7E;AAoBD,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,mBAAmB,CAAC;CACrC,GAAG,OAAO,CAAC,MAAM,CAAC,CAkClB;AAkCD,wBAAsB,iCAAiC,CACrD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAUnE;AAqBD,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,+BAA+B,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAmBrC;AAGD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,yBAAyB,GAChC,2BAA2B,CAK7B;AAUD,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAsBtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"par-request.js","sourceRoot":"","sources":["../../src/par/par-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"par-request.js","sourceRoot":"","sources":["../../src/par/par-request.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-request-uri.d.ts","sourceRoot":"","sources":["../../src/par/resolve-request-uri.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAWlE,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;gBAEtB,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,EAAE,gBAAgB,EAAE,MAAM;CAQtF;AAyBD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,+BAA+B,CAAC;IACvC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CA4BzC;AASD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQ5E"}
1
+ {"version":3,"file":"resolve-request-uri.d.ts","sourceRoot":"","sources":["../../src/par/resolve-request-uri.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAWlE,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CAAC;IACzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,YAAY,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,EAOpF;CACF;AAyBD,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,+BAA+B,CAAC;IACvC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CA4BzC;AASD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQ5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-exchange-request.d.ts","sourceRoot":"","sources":["../../src/token-exchange/token-exchange-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-exchange-request.d.ts","sourceRoot":"","sources":["../../src/token-exchange/token-exchange-request.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,29 @@
1
1
  {
2
2
  "name": "@maronn-openid-connect/experimental",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Experimental OAuth/OIDC extensions for maronn-openid-connect (unstable APIs)",
5
5
  "type": "module",
6
6
  "exports": {
7
+ "./ciba": {
8
+ "types": "./dist/ciba/index.d.ts",
9
+ "import": "./dist/ciba/index.js"
10
+ },
7
11
  "./device-authorization-grant": {
8
12
  "types": "./dist/device-authorization-grant/index.d.ts",
9
13
  "import": "./dist/device-authorization-grant/index.js"
10
14
  },
15
+ "./id-jag": {
16
+ "types": "./dist/id-jag/index.d.ts",
17
+ "import": "./dist/id-jag/index.js"
18
+ },
11
19
  "./jarm": {
12
20
  "types": "./dist/jarm/index.d.ts",
13
21
  "import": "./dist/jarm/index.js"
14
22
  },
23
+ "./jwt-introspection-response": {
24
+ "types": "./dist/jwt-introspection-response/index.d.ts",
25
+ "import": "./dist/jwt-introspection-response/index.js"
26
+ },
15
27
  "./par": {
16
28
  "types": "./dist/par/index.d.ts",
17
29
  "import": "./dist/par/index.js"
@@ -46,14 +58,14 @@
46
58
  },
47
59
  "homepage": "https://github.com/maronnjapan/maronn-openid-connect/tree/main/packages/experimental#readme",
48
60
  "peerDependencies": {
49
- "@maronn-openid-connect/core": ">=0.1.1 <1.0.0"
61
+ "@maronn-openid-connect/core": ">=0.3.0 <1.0.0"
50
62
  },
51
63
  "devDependencies": {
52
64
  "@edge-runtime/vm": "^5.0.0",
53
- "@types/node": "^26.1.2",
54
- "typescript": "^5.7.2",
55
- "vitest": "^3.2.6",
56
- "@maronn-openid-connect/core": "0.1.1"
65
+ "@types/node": "^26.2.0",
66
+ "typescript": "^7.0.2",
67
+ "vitest": "^4.1.11",
68
+ "@maronn-openid-connect/core": "0.3.0"
57
69
  },
58
70
  "scripts": {
59
71
  "build": "tsc",