@sphereon/jarm 0.16.1-next.233 → 0.16.1-next.235

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.
@@ -10,6 +10,7 @@ interface JarmAuthResponseSendInput {
10
10
  redirect_uri: string;
11
11
  });
12
12
  authResponse: string;
13
+ state: string;
13
14
  }
14
15
  export declare const jarmAuthResponseSend: (input: JarmAuthResponseSendInput) => Promise<Response>;
15
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"jarm-auth-response-send.d.ts","sourceRoot":"","sources":["../../lib/jarm-auth-response-send/jarm-auth-response-send.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAElG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,UAAU,yBAAyB;IACjC,iBAAiB,EAAE;QACjB,aAAa,CAAC,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;QAC7D,aAAa,EAAE,eAAe,CAAC;KAChC,GAAG,CACA;QACE,YAAY,EAAE,MAAM,CAAC;KACtB,GACD;QACE,YAAY,EAAE,MAAM,CAAC;KACtB,CACJ,CAAC;IAEF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,UAAiB,yBAAyB,KAAG,OAAO,CAAC,QAAQ,CAyB7F,CAAC"}
1
+ {"version":3,"file":"jarm-auth-response-send.d.ts","sourceRoot":"","sources":["../../lib/jarm-auth-response-send/jarm-auth-response-send.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAEjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAErE,UAAU,yBAAyB;IACjC,iBAAiB,EAAE;QACjB,aAAa,CAAC,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;QAC7D,aAAa,EAAE,eAAe,CAAC;KAChC,GAAG,CACA;QACE,YAAY,EAAE,MAAM,CAAC;KACtB,GACD;QACE,YAAY,EAAE,MAAM,CAAC;KACtB,CACJ,CAAC;IAEF,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB,UAAiB,yBAAyB,KAAG,OAAO,CAAC,QAAQ,CAyB7F,CAAC"}
@@ -13,7 +13,7 @@ exports.jarmAuthResponseSend = void 0;
13
13
  const utils_js_1 = require("../utils.js");
14
14
  const v_response_mode_registry_js_1 = require("../v-response-mode-registry.js");
15
15
  const jarmAuthResponseSend = (input) => __awaiter(void 0, void 0, void 0, function* () {
16
- const { authRequestParams, authResponse } = input;
16
+ const { authRequestParams, authResponse, state } = input;
17
17
  const responseEndpoint = 'response_uri' in authRequestParams ? new URL(authRequestParams.response_uri) : new URL(authRequestParams.redirect_uri);
18
18
  const responseMode = authRequestParams.response_mode && authRequestParams.response_mode !== 'jwt'
19
19
  ? authRequestParams.response_mode
@@ -24,41 +24,41 @@ const jarmAuthResponseSend = (input) => __awaiter(void 0, void 0, void 0, functi
24
24
  });
25
25
  switch (responseMode) {
26
26
  case 'direct_post.jwt':
27
- return handleDirectPostJwt(responseEndpoint, authResponse);
27
+ return handleDirectPostJwt(responseEndpoint, authResponse, state);
28
28
  case 'query.jwt':
29
- return handleQueryJwt(responseEndpoint, authResponse);
29
+ return handleQueryJwt(responseEndpoint, authResponse, state);
30
30
  case 'fragment.jwt':
31
- return handleFragmentJwt(responseEndpoint, authResponse);
31
+ return handleFragmentJwt(responseEndpoint, authResponse, state);
32
32
  case 'form_post.jwt':
33
33
  throw new Error('Not implemented. form_post.jwt is not yet supported.');
34
34
  }
35
35
  });
36
36
  exports.jarmAuthResponseSend = jarmAuthResponseSend;
37
- function handleDirectPostJwt(responseEndpoint, responseJwt) {
37
+ function handleDirectPostJwt(responseEndpoint, responseJwt, state) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
39
  const response = yield fetch(responseEndpoint, {
40
40
  method: 'POST',
41
41
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
42
- body: `response=${responseJwt}`,
42
+ body: `response=${responseJwt}&state=${state}`
43
43
  });
44
44
  return response;
45
45
  });
46
46
  }
47
- function handleQueryJwt(responseEndpoint, responseJwt) {
47
+ function handleQueryJwt(responseEndpoint, responseJwt, state) {
48
48
  return __awaiter(this, void 0, void 0, function* () {
49
49
  const responseUrl = (0, utils_js_1.appendQueryParams)({
50
50
  url: responseEndpoint,
51
- params: { response: responseJwt },
51
+ params: { response: responseJwt, state },
52
52
  });
53
53
  const response = yield fetch(responseUrl, { method: 'POST' });
54
54
  return response;
55
55
  });
56
56
  }
57
- function handleFragmentJwt(responseEndpoint, responseJwt) {
57
+ function handleFragmentJwt(responseEndpoint, responseJwt, state) {
58
58
  return __awaiter(this, void 0, void 0, function* () {
59
59
  const responseUrl = (0, utils_js_1.appendFragmentParams)({
60
60
  url: responseEndpoint,
61
- fragments: { response: responseJwt },
61
+ fragments: { response: responseJwt, state },
62
62
  });
63
63
  const response = yield fetch(responseUrl, { method: 'POST' });
64
64
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"jarm-auth-response-send.js","sourceRoot":"","sources":["../../lib/jarm-auth-response-send/jarm-auth-response-send.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAsE;AAEtE,gFAAkG;AAmB3F,MAAM,oBAAoB,GAAG,CAAO,KAAgC,EAAqB,EAAE;IAChG,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAElD,MAAM,gBAAgB,GAAG,cAAc,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEjJ,MAAM,YAAY,GAChB,iBAAiB,CAAC,aAAa,IAAI,iBAAiB,CAAC,aAAa,KAAK,KAAK;QAC1E,CAAC,CAAC,iBAAiB,CAAC,aAAa;QACjC,CAAC,CAAC,IAAA,wDAA0B,EAAC,iBAAiB,CAAC,CAAC;IAEpD,IAAA,kDAAoB,EAAC;QACnB,aAAa,EAAE,iBAAiB,CAAC,aAAa;QAC9C,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IAEH,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,iBAAiB;YACpB,OAAO,mBAAmB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAC7D,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACxD,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAC3D,KAAK,eAAe;YAClB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAA,CAAC;AAzBW,QAAA,oBAAoB,wBAyB/B;AAEF,SAAe,mBAAmB,CAAC,gBAAqB,EAAE,WAAmB;;QAC3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,YAAY,WAAW,EAAE;SAChC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAe,cAAc,CAAC,gBAAqB,EAAE,WAAmB;;QACtE,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC;YACpC,GAAG,EAAE,gBAAgB;YACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;SAClC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAe,iBAAiB,CAAC,gBAAqB,EAAE,WAAmB;;QACzE,MAAM,WAAW,GAAG,IAAA,+BAAoB,EAAC;YACvC,GAAG,EAAE,gBAAgB;YACrB,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;SACrC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA"}
1
+ {"version":3,"file":"jarm-auth-response-send.js","sourceRoot":"","sources":["../../lib/jarm-auth-response-send/jarm-auth-response-send.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAqE;AAErE,gFAAiG;AAoB1F,MAAM,oBAAoB,GAAG,CAAO,KAAgC,EAAqB,EAAE;IAChG,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEzD,MAAM,gBAAgB,GAAG,cAAc,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEjJ,MAAM,YAAY,GAChB,iBAAiB,CAAC,aAAa,IAAI,iBAAiB,CAAC,aAAa,KAAK,KAAK;QAC1E,CAAC,CAAC,iBAAiB,CAAC,aAAa;QACjC,CAAC,CAAC,IAAA,wDAA0B,EAAC,iBAAiB,CAAC,CAAC;IAEpD,IAAA,kDAAoB,EAAC;QACnB,aAAa,EAAE,iBAAiB,CAAC,aAAa;QAC9C,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IAEH,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,iBAAiB;YACpB,OAAO,mBAAmB,CAAC,gBAAgB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QACpE,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,gBAAgB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC/D,KAAK,cAAc;YACjB,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAClE,KAAK,eAAe;YAClB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC,CAAA,CAAC;AAzBW,QAAA,oBAAoB,wBAyB/B;AAEF,SAAe,mBAAmB,CAAC,gBAAqB,EAAE,WAAmB,EAAE,KAAa;;QAC1F,MAAM,QAAQ,GAAI,MAAM,KAAK,CAAC,gBAAgB,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,YAAY,WAAW,UAAU,KAAK,EAAE;SAC/C,CAAC,CAAA;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAe,cAAc,CAAC,gBAAqB,EAAE,WAAmB,EAAE,KAAa;;QACrF,MAAM,WAAW,GAAG,IAAA,4BAAiB,EAAC;YACpC,GAAG,EAAE,gBAAgB;YACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;SACzC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAe,iBAAiB,CAAC,gBAAqB,EAAE,WAAmB,EAAE,KAAa;;QACxF,MAAM,WAAW,GAAG,IAAA,+BAAoB,EAAC;YACvC,GAAG,EAAE,gBAAgB;YACrB,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;SAC5C,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA"}
@@ -1,7 +1,7 @@
1
- import { appendFragmentParams, appendQueryParams } from '../utils.js';
2
- import type { JarmResponseMode, Openid4vpJarmResponseMode } from '../v-response-mode-registry.js';
3
- import { getJarmDefaultResponseMode, validateResponseMode } from '../v-response-mode-registry.js';
4
- import type { ResponseTypeOut } from '../v-response-type-registry.js';
1
+ import { appendFragmentParams, appendQueryParams } from '../utils.js'
2
+ import type { JarmResponseMode, Openid4vpJarmResponseMode } from '../v-response-mode-registry.js'
3
+ import { getJarmDefaultResponseMode, validateResponseMode } from '../v-response-mode-registry.js'
4
+ import type { ResponseTypeOut } from '../v-response-type-registry.js'
5
5
 
6
6
  interface JarmAuthResponseSendInput {
7
7
  authRequestParams: {
@@ -17,10 +17,11 @@ interface JarmAuthResponseSendInput {
17
17
  );
18
18
 
19
19
  authResponse: string;
20
+ state: string;
20
21
  }
21
22
 
22
23
  export const jarmAuthResponseSend = async (input: JarmAuthResponseSendInput): Promise<Response> => {
23
- const { authRequestParams, authResponse } = input;
24
+ const { authRequestParams, authResponse, state } = input;
24
25
 
25
26
  const responseEndpoint = 'response_uri' in authRequestParams ? new URL(authRequestParams.response_uri) : new URL(authRequestParams.redirect_uri);
26
27
 
@@ -36,40 +37,39 @@ export const jarmAuthResponseSend = async (input: JarmAuthResponseSendInput): Pr
36
37
 
37
38
  switch (responseMode) {
38
39
  case 'direct_post.jwt':
39
- return handleDirectPostJwt(responseEndpoint, authResponse);
40
+ return handleDirectPostJwt(responseEndpoint, authResponse, state);
40
41
  case 'query.jwt':
41
- return handleQueryJwt(responseEndpoint, authResponse);
42
+ return handleQueryJwt(responseEndpoint, authResponse, state);
42
43
  case 'fragment.jwt':
43
- return handleFragmentJwt(responseEndpoint, authResponse);
44
+ return handleFragmentJwt(responseEndpoint, authResponse, state);
44
45
  case 'form_post.jwt':
45
46
  throw new Error('Not implemented. form_post.jwt is not yet supported.');
46
47
  }
47
48
  };
48
49
 
49
- async function handleDirectPostJwt(responseEndpoint: URL, responseJwt: string) {
50
- const response = await fetch(responseEndpoint, {
50
+ async function handleDirectPostJwt(responseEndpoint: URL, responseJwt: string, state: string) {
51
+ const response = await fetch(responseEndpoint, {
51
52
  method: 'POST',
52
53
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
53
- body: `response=${responseJwt}`,
54
- });
55
-
54
+ body: `response=${responseJwt}&state=${state}`
55
+ })
56
56
  return response;
57
57
  }
58
58
 
59
- async function handleQueryJwt(responseEndpoint: URL, responseJwt: string) {
59
+ async function handleQueryJwt(responseEndpoint: URL, responseJwt: string, state: string) {
60
60
  const responseUrl = appendQueryParams({
61
61
  url: responseEndpoint,
62
- params: { response: responseJwt },
62
+ params: { response: responseJwt, state },
63
63
  });
64
64
 
65
65
  const response = await fetch(responseUrl, { method: 'POST' });
66
66
  return response;
67
67
  }
68
68
 
69
- async function handleFragmentJwt(responseEndpoint: URL, responseJwt: string) {
69
+ async function handleFragmentJwt(responseEndpoint: URL, responseJwt: string, state: string) {
70
70
  const responseUrl = appendFragmentParams({
71
71
  url: responseEndpoint,
72
- fragments: { response: responseJwt },
72
+ fragments: { response: responseJwt, state },
73
73
  });
74
74
  const response = await fetch(responseUrl, { method: 'POST' });
75
75
  return response;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/jarm",
3
- "version": "0.16.1-next.233+914d198",
3
+ "version": "0.16.1-next.235+f61d6d1",
4
4
  "description": "Sphereon JARM",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -10,7 +10,7 @@
10
10
  "build:clean": "tsc --build --clean && tsc --build"
11
11
  },
12
12
  "dependencies": {
13
- "@sphereon/oid4vc-common": "0.16.1-next.233+914d198",
13
+ "@sphereon/oid4vc-common": "0.16.1-next.235+f61d6d1",
14
14
  "valibot": "^0.42.1"
15
15
  },
16
16
  "devDependencies": {
@@ -43,5 +43,5 @@
43
43
  "publishConfig": {
44
44
  "access": "public"
45
45
  },
46
- "gitHead": "914d198c99df94c84ea83520e767b6b557ecd717"
46
+ "gitHead": "f61d6d1be6b5af39cbf6e65662f035828da0f406"
47
47
  }