@pagopa/io-react-native-wallet 0.4.3 → 0.5.0

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 (81) hide show
  1. package/README.md +98 -22
  2. package/lib/commonjs/index.js +12 -8
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/pid/index.js +3 -8
  5. package/lib/commonjs/pid/index.js.map +1 -1
  6. package/lib/commonjs/pid/issuing.js +152 -169
  7. package/lib/commonjs/pid/issuing.js.map +1 -1
  8. package/lib/commonjs/pid/metadata.js +28 -25
  9. package/lib/commonjs/pid/metadata.js.map +1 -1
  10. package/lib/commonjs/rp/__test__/index.test.js +5 -3
  11. package/lib/commonjs/rp/__test__/index.test.js.map +1 -1
  12. package/lib/commonjs/rp/index.js +158 -154
  13. package/lib/commonjs/rp/index.js.map +1 -1
  14. package/lib/commonjs/trust/types.js +9 -7
  15. package/lib/commonjs/trust/types.js.map +1 -1
  16. package/lib/commonjs/utils/crypto.js +46 -0
  17. package/lib/commonjs/utils/crypto.js.map +1 -0
  18. package/lib/commonjs/utils/dpop.js +14 -7
  19. package/lib/commonjs/utils/dpop.js.map +1 -1
  20. package/lib/commonjs/wallet-instance-attestation/index.js +3 -3
  21. package/lib/commonjs/wallet-instance-attestation/issuing.js +50 -60
  22. package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
  23. package/lib/module/index.js +4 -3
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/pid/index.js +1 -1
  26. package/lib/module/pid/index.js.map +1 -1
  27. package/lib/module/pid/issuing.js +151 -172
  28. package/lib/module/pid/issuing.js.map +1 -1
  29. package/lib/module/pid/metadata.js +28 -25
  30. package/lib/module/pid/metadata.js.map +1 -1
  31. package/lib/module/rp/__test__/index.test.js +1 -1
  32. package/lib/module/rp/__test__/index.test.js.map +1 -1
  33. package/lib/module/rp/index.js +155 -153
  34. package/lib/module/rp/index.js.map +1 -1
  35. package/lib/module/trust/types.js +7 -6
  36. package/lib/module/trust/types.js.map +1 -1
  37. package/lib/module/utils/crypto.js +40 -0
  38. package/lib/module/utils/crypto.js.map +1 -0
  39. package/lib/module/utils/dpop.js +13 -5
  40. package/lib/module/utils/dpop.js.map +1 -1
  41. package/lib/module/wallet-instance-attestation/index.js +2 -2
  42. package/lib/module/wallet-instance-attestation/index.js.map +1 -1
  43. package/lib/module/wallet-instance-attestation/issuing.js +48 -58
  44. package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
  45. package/lib/typescript/index.d.ts +4 -3
  46. package/lib/typescript/index.d.ts.map +1 -1
  47. package/lib/typescript/pid/index.d.ts +1 -1
  48. package/lib/typescript/pid/index.d.ts.map +1 -1
  49. package/lib/typescript/pid/issuing.d.ts +51 -87
  50. package/lib/typescript/pid/issuing.d.ts.map +1 -1
  51. package/lib/typescript/pid/metadata.d.ts +1338 -408
  52. package/lib/typescript/pid/metadata.d.ts.map +1 -1
  53. package/lib/typescript/rp/index.d.ts +48 -86
  54. package/lib/typescript/rp/index.d.ts.map +1 -1
  55. package/lib/typescript/rp/types.d.ts +413 -57
  56. package/lib/typescript/rp/types.d.ts.map +1 -1
  57. package/lib/typescript/sd-jwt/index.d.ts +1 -1
  58. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  59. package/lib/typescript/trust/types.d.ts +1000 -274
  60. package/lib/typescript/trust/types.d.ts.map +1 -1
  61. package/lib/typescript/utils/crypto.d.ts +10 -0
  62. package/lib/typescript/utils/crypto.d.ts.map +1 -0
  63. package/lib/typescript/utils/dpop.d.ts +10 -2
  64. package/lib/typescript/utils/dpop.d.ts.map +1 -1
  65. package/lib/typescript/wallet-instance-attestation/index.d.ts +2 -2
  66. package/lib/typescript/wallet-instance-attestation/index.d.ts.map +1 -1
  67. package/lib/typescript/wallet-instance-attestation/issuing.d.ts +17 -31
  68. package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
  69. package/package.json +2 -2
  70. package/src/index.ts +5 -3
  71. package/src/pid/index.ts +1 -1
  72. package/src/pid/issuing.ts +233 -226
  73. package/src/pid/metadata.ts +32 -27
  74. package/src/rp/__test__/index.test.ts +1 -1
  75. package/src/rp/index.ts +180 -188
  76. package/src/sd-jwt/index.ts +1 -1
  77. package/src/trust/types.ts +39 -32
  78. package/src/utils/crypto.ts +41 -0
  79. package/src/utils/dpop.ts +17 -7
  80. package/src/wallet-instance-attestation/index.ts +2 -2
  81. package/src/wallet-instance-attestation/issuing.ts +55 -62
@@ -1,46 +1,46 @@
1
- import { decode as decodeJwt, verify as verifyJwt, sha256ToBase64 } from "@pagopa/io-react-native-jwt";
2
- import { SignJWT, thumbprint } from "@pagopa/io-react-native-jwt";
1
+ import { sha256ToBase64, SignJWT, thumbprint } from "@pagopa/io-react-native-jwt";
3
2
  import { JWK } from "../utils/jwk";
4
3
  import uuid from "react-native-uuid";
5
- import { PidIssuingError, PidMetadataError } from "../utils/errors";
6
- import { getUnsignedDPop } from "../utils/dpop";
7
- import { sign, generate, deleteKey } from "@pagopa/io-react-native-crypto";
4
+ import { PidIssuingError } from "../utils/errors";
5
+ import { createDPopToken } from "../utils/dpop";
8
6
  import { PidIssuerEntityConfiguration } from "./metadata";
9
- import { fixBase64EncodingOnKey } from "./../utils/jwk";
10
-
7
+ import { createCryptoContextFor, getEntityConfiguration as getGenericEntityConfiguration } from "..";
8
+ import { generate, deleteKey } from "@pagopa/io-react-native-crypto";
9
+ import { SdJwt } from ".";
11
10
  // This is a temporary type that will be used for demo purposes only
12
11
 
13
- export class Issuing {
14
- constructor(pidProviderBaseUrl, walletProviderBaseUrl, walletInstanceAttestation, clientId) {
15
- let appFetch = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : fetch;
16
- this.pidProviderBaseUrl = pidProviderBaseUrl;
17
- this.walletProviderBaseUrl = walletProviderBaseUrl;
18
- this.state = `${uuid.v4()}`;
19
- this.codeVerifier = `${uuid.v4()}`;
20
- this.authorizationCode = `${uuid.v4()}`;
21
- this.walletInstanceAttestation = walletInstanceAttestation;
22
- this.clientId = clientId;
23
- this.appFetch = appFetch;
24
- }
12
+ /**
13
+ * Obtain the PID provider entity configuration.
14
+ */
15
+ export const getEntityConfiguration = function () {
16
+ let {
17
+ appFetch = fetch
18
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
19
+ return async relyingPartyBaseUrl => {
20
+ return getGenericEntityConfiguration(relyingPartyBaseUrl, {
21
+ appFetch: appFetch
22
+ }).then(PidIssuerEntityConfiguration.parse);
23
+ };
24
+ };
25
25
 
26
- /**
27
- * Return the unsigned jwt to call the PAR request.
28
- *
29
- * @function
30
- * @param jwk The wallet instance attestation public JWK
31
- *
32
- * @returns Unsigned jwt
33
- *
34
- */
35
- async getUnsignedJwtForPar(jwk) {
36
- const parsedJwk = JWK.parse(jwk);
37
- const keyThumbprint = await thumbprint(parsedJwk);
38
- const publicKey = {
39
- ...parsedJwk,
26
+ /**
27
+ * Make a PAR request to the PID issuer and return the response url
28
+ */
29
+ const getPar = _ref => {
30
+ let {
31
+ wiaCryptoContext,
32
+ appFetch = fetch
33
+ } = _ref;
34
+ return async (clientId, codeVerifier, walletProviderBaseUrl, pidProviderEntityConfiguration, walletInstanceAttestation) => {
35
+ // Calculate the thumbprint of the public key of the Wallet Instance Attestation.
36
+ // The PAR request token is signed used the Wallet Instance Attestation key.
37
+ // The signature can be verified by reading the public key from the key set shippet with the it will ship the Wallet Instance Attestation;
38
+ // key is matched by its kid, which is supposed to be the thumbprint of its public key.
39
+ const keyThumbprint = await wiaCryptoContext.getPublicKey().then(JWK.parse).then(thumbprint);
40
+ const codeChallenge = await sha256ToBase64(codeVerifier);
41
+ const signedJwtForPar = await new SignJWT(wiaCryptoContext).setProtectedHeader({
40
42
  kid: keyThumbprint
41
- };
42
- const codeChallenge = await sha256ToBase64(this.codeVerifier);
43
- const unsignedJwtForPar = new SignJWT({
43
+ }).setPayload({
44
44
  client_assertion_type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
45
45
  authorization_details: [{
46
46
  credentialDefinition: {
@@ -51,42 +51,23 @@ export class Issuing {
51
51
  }],
52
52
  response_type: "code",
53
53
  code_challenge_method: "s256",
54
- redirect_uri: this.walletProviderBaseUrl,
55
- state: this.state,
56
- client_id: this.clientId,
54
+ redirect_uri: walletProviderBaseUrl,
55
+ state: `${uuid.v4()}`,
56
+ client_id: clientId,
57
57
  code_challenge: codeChallenge
58
- }).setProtectedHeader({
59
- alg: "ES256",
60
- kid: publicKey.kid
61
- }).setIssuedAt().setExpirationTime("1h").toSign();
62
- return unsignedJwtForPar;
63
- }
64
-
65
- /**
66
- * Make a PAR request to the PID issuer and return the response url
67
- *
68
- * @function
69
- * @param unsignedJwtForPar The unsigned JWT for PAR
70
- * @param signature The JWT for PAR signature
71
- *
72
- * @returns Unsigned PAR url
73
- *
74
- */
75
- async getPar(unsignedJwtForPar, signature) {
76
- const codeChallenge = await sha256ToBase64(this.codeVerifier);
77
- const signedJwtForPar = await SignJWT.appendSignature(unsignedJwtForPar, signature);
78
- const parUrl = new URL("/as/par", this.pidProviderBaseUrl).href;
58
+ }).setIssuedAt().setExpirationTime("1h").sign();
59
+ const parUrl = pidProviderEntityConfiguration.payload.metadata.openid_credential_issuer.pushed_authorization_request_endpoint;
79
60
  const requestBody = {
80
61
  response_type: "code",
81
- client_id: this.clientId,
62
+ client_id: clientId,
82
63
  code_challenge: codeChallenge,
83
64
  code_challenge_method: "S256",
84
65
  client_assertion_type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
85
- client_assertion: this.walletInstanceAttestation,
66
+ client_assertion: walletInstanceAttestation,
86
67
  request: signedJwtForPar
87
68
  };
88
69
  var formBody = new URLSearchParams(requestBody);
89
- const response = await this.appFetch(parUrl, {
70
+ const response = await appFetch(parUrl, {
90
71
  method: "POST",
91
72
  headers: {
92
73
  "Content-Type": "application/x-www-form-urlencoded"
@@ -98,55 +79,56 @@ export class Issuing {
98
79
  return result.request_uri;
99
80
  }
100
81
  throw new PidIssuingError(`Unable to obtain PAR. Response code: ${await response.text()}`);
101
- }
82
+ };
83
+ };
84
+
85
+ /**
86
+ * Start the issuing flow by generating an authorization request to the PID Provider. Obtain from the PID Provider an access token to be used to complete the issuing flow.
87
+ *
88
+ * @param params.wiaCryptoContext The key pair associated with the WIA. Will be use to prove the ownership of the attestation.
89
+ * @param params.appFetch (optional) Http client
90
+ * @param walletInstanceAttestation Wallet Instance Attestation token.
91
+ * @param walletProviderBaseUrl Base url for the Wallet Provider
92
+ * @param pidProviderEntityConfiguration The Entity Configuration of the PID Provider, from which discover public endooints.
93
+ * @returns The access token along with the values that identify the issuing session.
94
+ */
95
+ export const authorizeIssuing = _ref2 => {
96
+ let {
97
+ wiaCryptoContext,
98
+ appFetch = fetch
99
+ } = _ref2;
100
+ return async (walletInstanceAttestation, walletProviderBaseUrl, pidProviderEntityConfiguration) => {
101
+ // FIXME: do better
102
+ const clientId = await wiaCryptoContext.getPublicKey().then(_ => _.kid);
103
+ const codeVerifier = `${uuid.v4()}`;
104
+ const authorizationCode = `${uuid.v4()}`;
105
+ const tokenUrl = pidProviderEntityConfiguration.payload.metadata.openid_credential_issuer.token_endpoint;
106
+ await getPar({
107
+ wiaCryptoContext,
108
+ appFetch
109
+ })(clientId, codeVerifier, walletProviderBaseUrl, pidProviderEntityConfiguration, walletInstanceAttestation);
102
110
 
103
- /**
104
- * Return the unsigned jwt for a generic DPoP
105
- *
106
- * @function
107
- * @param jwk the public key for which the DPoP is to be created
108
- *
109
- * @returns Unsigned JWT for DPoP
110
- *
111
- */
112
- async getUnsignedDPoP(jwk) {
113
- const tokenUrl = new URL("/token", this.pidProviderBaseUrl).href;
114
- const dPop = getUnsignedDPop(fixBase64EncodingOnKey(jwk), {
111
+ // Use an ephemeral key to be destroyed after use
112
+ const keytag = `ephemeral-${uuid.v4()}`;
113
+ await generate(keytag);
114
+ const ephemeralContext = createCryptoContextFor(keytag);
115
+ const signedDPop = await createDPopToken({
115
116
  htm: "POST",
116
117
  htu: tokenUrl,
117
118
  jti: `${uuid.v4()}`
118
- });
119
- return dPop;
120
- }
121
-
122
- /**
123
- * Make an auth token request to the PID issuer
124
- *
125
- * @function
126
- * @returns a token response
127
- *
128
- */
129
- async getAuthToken() {
130
- //Generate fresh keys for DPoP
131
- const dPopKeyTag = `${uuid.v4()}`;
132
- const dPopKey = await generate(dPopKeyTag);
133
- const unsignedDPopForToken = await this.getUnsignedDPoP(dPopKey);
134
- const dPopTokenSignature = await sign(unsignedDPopForToken, dPopKeyTag);
135
- await deleteKey(dPopKeyTag);
136
- const signedDPop = await SignJWT.appendSignature(unsignedDPopForToken, dPopTokenSignature);
137
- const decodedJwtDPop = decodeJwt(signedDPop);
138
- const tokenUrl = decodedJwtDPop.payload.htu;
119
+ }, ephemeralContext);
120
+ await deleteKey(keytag);
139
121
  const requestBody = {
140
122
  grant_type: "authorization code",
141
- client_id: this.clientId,
142
- code: this.authorizationCode,
143
- code_verifier: this.codeVerifier,
123
+ client_id: clientId,
124
+ code: authorizationCode,
125
+ code_verifier: codeVerifier,
144
126
  client_assertion_type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
145
- client_assertion: this.walletInstanceAttestation,
146
- redirect_uri: this.walletProviderBaseUrl
127
+ client_assertion: walletInstanceAttestation,
128
+ redirect_uri: walletProviderBaseUrl
147
129
  };
148
130
  var formBody = new URLSearchParams(requestBody);
149
- const response = await this.appFetch(tokenUrl, {
131
+ const response = await appFetch(tokenUrl, {
150
132
  method: "POST",
151
133
  headers: {
152
134
  "Content-Type": "application/x-www-form-urlencoded",
@@ -155,48 +137,62 @@ export class Issuing {
155
137
  body: formBody.toString()
156
138
  });
157
139
  if (response.status === 200) {
158
- return await response.json();
140
+ const {
141
+ c_nonce,
142
+ access_token
143
+ } = await response.json();
144
+ return {
145
+ accessToken: access_token,
146
+ nonce: c_nonce,
147
+ clientId,
148
+ codeVerifier,
149
+ authorizationCode,
150
+ walletProviderBaseUrl
151
+ };
159
152
  }
160
153
  throw new PidIssuingError(`Unable to obtain token. Response code: ${await response.text()}`);
161
- }
154
+ };
155
+ };
162
156
 
163
- /**
164
- * Return the unsigned jwt for nonce proof of possession
165
- *
166
- * @function
167
- * @param nonce the nonce
168
- *
169
- * @returns Unsigned JWT for nonce proof
170
- *
171
- */
172
- async getUnsignedNonceProof(nonce) {
173
- const unsignedProof = new SignJWT({
174
- nonce
175
- }).setProtectedHeader({
176
- alg: "ES256",
177
- type: "openid4vci-proof+jwt"
178
- }).setAudience(this.walletProviderBaseUrl).setIssuer(this.clientId).setIssuedAt().setExpirationTime("1h").toSign();
179
- return unsignedProof;
180
- }
157
+ /**
158
+ * Return the signed jwt for nonce proof of possession
159
+ */
160
+ const createNonceProof = async (nonce, issuer, audience, ctx) => {
161
+ return new SignJWT(ctx).setPayload({
162
+ nonce
163
+ }).setProtectedHeader({
164
+ type: "openid4vci-proof+jwt"
165
+ }).setAudience(audience).setIssuer(issuer).setIssuedAt().setExpirationTime("1h").sign();
166
+ };
181
167
 
182
- /**
183
- * Make the credential issuing request to the PID issuer
184
- *
185
- * @function
186
- * @param unsignedDPopForPid The unsigned JWT for PID DPoP
187
- * @param dPopPidSignature The JWT for PID DPoP signature
188
- * @param unsignedNonceProof The unsigned JWT for nonce proof
189
- * @param nonceProofSignature The JWT for nonce proof signature
190
- * @param accessToken The access token obtained with getAuthToken
191
- * @param cieData Personal data read by the CIE
192
- *
193
- * @returns a credential
194
- *
195
- */
196
- async getCredential(unsignedDPopForPid, dPopPidSignature, unsignedNonceProof, nonceProofSignature, accessToken, cieData) {
197
- const signedDPopForPid = await SignJWT.appendSignature(unsignedDPopForPid, dPopPidSignature);
198
- const signedNonceProof = await SignJWT.appendSignature(unsignedNonceProof, nonceProofSignature);
199
- const credentialUrl = new URL("/credential", this.pidProviderBaseUrl).href;
168
+ /**
169
+ * Complete the issuing flow and get the PID credential.
170
+ *
171
+ * @param params.pidCryptoContext The key pair associated with the PID. Will be use to prove the ownership of the credential.
172
+ * @param params.appFetch (optional) Http client
173
+ * @param authConf The authorization configuration retrieved with the access token
174
+ * @param cieData Data red from the CIE login process
175
+ * @returns The PID credential token
176
+ */
177
+ export const getCredential = _ref3 => {
178
+ let {
179
+ pidCryptoContext,
180
+ appFetch = fetch
181
+ } = _ref3;
182
+ return async (_ref4, pidProviderEntityConfiguration, cieData) => {
183
+ let {
184
+ nonce,
185
+ accessToken,
186
+ clientId,
187
+ walletProviderBaseUrl
188
+ } = _ref4;
189
+ const signedDPopForPid = await createDPopToken({
190
+ htm: "POST",
191
+ htu: pidProviderEntityConfiguration.payload.metadata.openid_credential_issuer.token_endpoint,
192
+ jti: `${uuid.v4()}`
193
+ }, pidCryptoContext);
194
+ const signedNonceProof = await createNonceProof(nonce, clientId, walletProviderBaseUrl, pidCryptoContext);
195
+ const credentialUrl = pidProviderEntityConfiguration.payload.metadata.openid_credential_issuer.credential_endpoint;
200
196
  const requestBody = {
201
197
  credential_definition: JSON.stringify({
202
198
  type: ["eu.eudiw.pid.it"]
@@ -209,7 +205,7 @@ export class Issuing {
209
205
  })
210
206
  };
211
207
  const formBody = new URLSearchParams(requestBody);
212
- const response = await this.appFetch(credentialUrl, {
208
+ const response = await appFetch(credentialUrl, {
213
209
  method: "POST",
214
210
  headers: {
215
211
  "Content-Type": "application/x-www-form-urlencoded",
@@ -219,36 +215,19 @@ export class Issuing {
219
215
  body: formBody.toString()
220
216
  });
221
217
  if (response.status === 200) {
222
- return await response.json();
223
- }
224
- throw new PidIssuingError(`Unable to obtain credential!`);
225
- }
226
-
227
- /**
228
- * Obtain the PID issuer metadata
229
- *
230
- * @function
231
- * @returns PID issuer metadata
232
- *
233
- */
234
- async getEntityConfiguration() {
235
- const metadataUrl = new URL("ci/.well-known/openid-federation", this.pidProviderBaseUrl).href;
236
- const response = await this.appFetch(metadataUrl);
237
- if (response.status === 200) {
238
- const jwtMetadata = await response.text();
239
- const {
240
- payload
241
- } = decodeJwt(jwtMetadata);
242
- const result = PidIssuerEntityConfiguration.safeParse(payload);
243
- if (result.success) {
244
- const parsedMetadata = result.data;
245
- await verifyJwt(jwtMetadata, parsedMetadata.jwks.keys);
246
- return parsedMetadata;
247
- } else {
248
- throw new PidMetadataError(result.error.message);
249
- }
218
+ const pidResponse = await response.json();
219
+ await validatePid(pidResponse.credential, pidCryptoContext);
220
+ return pidResponse;
250
221
  }
251
- throw new PidMetadataError(`Unable to obtain PID metadata. Response: ${await response.text()} with status: ${response.status}`);
222
+ throw new PidIssuingError(`Unable to obtain credential! url=${credentialUrl} status=${response.status} body=${await response.text()}`);
223
+ };
224
+ };
225
+ const validatePid = async (pidJwt, pidCryptoContext) => {
226
+ const decoded = SdJwt.decode(pidJwt);
227
+ const pidKey = await pidCryptoContext.getPublicKey();
228
+ const holderBindedKey = decoded.sdJwt.payload.cnf.jwk;
229
+ if ((await thumbprint(pidKey)) !== (await thumbprint(holderBindedKey))) {
230
+ throw new PidIssuingError(`The obtained pid does not seem to be valid according to your configuration. Your PID public key is: ${JSON.stringify(pidKey)} but PID holder binded key is: ${JSON.stringify(holderBindedKey)}`);
252
231
  }
253
- }
232
+ };
254
233
  //# sourceMappingURL=issuing.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["decode","decodeJwt","verify","verifyJwt","sha256ToBase64","SignJWT","thumbprint","JWK","uuid","PidIssuingError","PidMetadataError","getUnsignedDPop","sign","generate","deleteKey","PidIssuerEntityConfiguration","fixBase64EncodingOnKey","Issuing","constructor","pidProviderBaseUrl","walletProviderBaseUrl","walletInstanceAttestation","clientId","appFetch","arguments","length","undefined","fetch","state","v4","codeVerifier","authorizationCode","getUnsignedJwtForPar","jwk","parsedJwk","parse","keyThumbprint","publicKey","kid","codeChallenge","unsignedJwtForPar","client_assertion_type","authorization_details","credentialDefinition","type","format","response_type","code_challenge_method","redirect_uri","client_id","code_challenge","setProtectedHeader","alg","setIssuedAt","setExpirationTime","toSign","getPar","signature","signedJwtForPar","appendSignature","parUrl","URL","href","requestBody","client_assertion","request","formBody","URLSearchParams","response","method","headers","body","toString","status","result","json","request_uri","text","getUnsignedDPoP","tokenUrl","dPop","htm","htu","jti","getAuthToken","dPopKeyTag","dPopKey","unsignedDPopForToken","dPopTokenSignature","signedDPop","decodedJwtDPop","payload","grant_type","code","code_verifier","DPoP","getUnsignedNonceProof","nonce","unsignedProof","setAudience","setIssuer","getCredential","unsignedDPopForPid","dPopPidSignature","unsignedNonceProof","nonceProofSignature","accessToken","cieData","signedDPopForPid","signedNonceProof","credentialUrl","credential_definition","JSON","stringify","proof","jwt","proof_type","Authorization","getEntityConfiguration","metadataUrl","jwtMetadata","safeParse","success","parsedMetadata","data","jwks","keys","error","message"],"sourceRoot":"../../../src","sources":["pid/issuing.ts"],"mappings":"AAAA,SACEA,MAAM,IAAIC,SAAS,EACnBC,MAAM,IAAIC,SAAS,EACnBC,cAAc,QACT,6BAA6B;AAEpC,SAASC,OAAO,EAAEC,UAAU,QAAQ,6BAA6B;AACjE,SAASC,GAAG,QAAQ,cAAc;AAClC,OAAOC,IAAI,MAAM,mBAAmB;AACpC,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,iBAAiB;AACnE,SAASC,eAAe,QAAQ,eAAe;AAC/C,SAASC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,gCAAgC;AAC1E,SAASC,4BAA4B,QAAQ,YAAY;AACzD,SAASC,sBAAsB,QAAQ,gBAAgB;;AAEvD;;AAgBA,OAAO,MAAMC,OAAO,CAAC;EAUnBC,WAAWA,CACTC,kBAA0B,EAC1BC,qBAA6B,EAC7BC,yBAAiC,EACjCC,QAAgB,EAEhB;IAAA,IADAC,QAA8B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGG,KAAK;IAEtC,IAAI,CAACR,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAI,CAACC,qBAAqB,GAAGA,qBAAqB;IAClD,IAAI,CAACQ,KAAK,GAAI,GAAEpB,IAAI,CAACqB,EAAE,CAAC,CAAE,EAAC;IAC3B,IAAI,CAACC,YAAY,GAAI,GAAEtB,IAAI,CAACqB,EAAE,CAAC,CAAE,EAAC;IAClC,IAAI,CAACE,iBAAiB,GAAI,GAAEvB,IAAI,CAACqB,EAAE,CAAC,CAAE,EAAC;IACvC,IAAI,CAACR,yBAAyB,GAAGA,yBAAyB;IAC1D,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC1B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMS,oBAAoBA,CAACC,GAAQ,EAAmB;IACpD,MAAMC,SAAS,GAAG3B,GAAG,CAAC4B,KAAK,CAACF,GAAG,CAAC;IAChC,MAAMG,aAAa,GAAG,MAAM9B,UAAU,CAAC4B,SAAS,CAAC;IACjD,MAAMG,SAAS,GAAG;MAAE,GAAGH,SAAS;MAAEI,GAAG,EAAEF;IAAc,CAAC;IACtD,MAAMG,aAAa,GAAG,MAAMnC,cAAc,CAAC,IAAI,CAAC0B,YAAY,CAAC;IAE7D,MAAMU,iBAAiB,GAAG,IAAInC,OAAO,CAAC;MACpCoC,qBAAqB,EACnB,wDAAwD;MAC1DC,qBAAqB,EAAE,CACrB;QACEC,oBAAoB,EAAE;UACpBC,IAAI,EAAE,CAAC,iBAAiB;QAC1B,CAAC;QACDC,MAAM,EAAE,WAAW;QACnBD,IAAI,EAAE;MACR,CAAC,CACF;MACDE,aAAa,EAAE,MAAM;MACrBC,qBAAqB,EAAE,MAAM;MAC7BC,YAAY,EAAE,IAAI,CAAC5B,qBAAqB;MACxCQ,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBqB,SAAS,EAAE,IAAI,CAAC3B,QAAQ;MACxB4B,cAAc,EAAEX;IAClB,CAAC,CAAC,CACCY,kBAAkB,CAAC;MAClBC,GAAG,EAAE,OAAO;MACZd,GAAG,EAAED,SAAS,CAACC;IACjB,CAAC,CAAC,CACDe,WAAW,CAAC,CAAC,CACbC,iBAAiB,CAAC,IAAI,CAAC,CACvBC,MAAM,CAAC,CAAC;IAEX,OAAOf,iBAAiB;EAC1B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMgB,MAAMA,CAAChB,iBAAyB,EAAEiB,SAAiB,EAAmB;IAC1E,MAAMlB,aAAa,GAAG,MAAMnC,cAAc,CAAC,IAAI,CAAC0B,YAAY,CAAC;IAC7D,MAAM4B,eAAe,GAAG,MAAMrD,OAAO,CAACsD,eAAe,CACnDnB,iBAAiB,EACjBiB,SACF,CAAC;IAED,MAAMG,MAAM,GAAG,IAAIC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC1C,kBAAkB,CAAC,CAAC2C,IAAI;IAE/D,MAAMC,WAAW,GAAG;MAClBjB,aAAa,EAAE,MAAM;MACrBG,SAAS,EAAE,IAAI,CAAC3B,QAAQ;MACxB4B,cAAc,EAAEX,aAAa;MAC7BQ,qBAAqB,EAAE,MAAM;MAC7BN,qBAAqB,EACnB,wDAAwD;MAC1DuB,gBAAgB,EAAE,IAAI,CAAC3C,yBAAyB;MAChD4C,OAAO,EAAEP;IACX,CAAC;IAED,IAAIQ,QAAQ,GAAG,IAAIC,eAAe,CAACJ,WAAW,CAAC;IAE/C,MAAMK,QAAQ,GAAG,MAAM,IAAI,CAAC7C,QAAQ,CAACqC,MAAM,EAAE;MAC3CS,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,cAAc,EAAE;MAClB,CAAC;MACDC,IAAI,EAAEL,QAAQ,CAACM,QAAQ,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAIJ,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE;MAC3B,MAAMC,MAAM,GAAG,MAAMN,QAAQ,CAACO,IAAI,CAAC,CAAC;MACpC,OAAOD,MAAM,CAACE,WAAW;IAC3B;IAEA,MAAM,IAAInE,eAAe,CACtB,wCAAuC,MAAM2D,QAAQ,CAACS,IAAI,CAAC,CAAE,EAChE,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,eAAeA,CAAC7C,GAAQ,EAAmB;IAC/C,MAAM8C,QAAQ,GAAG,IAAIlB,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC1C,kBAAkB,CAAC,CAAC2C,IAAI;IAChE,MAAMkB,IAAI,GAAGrE,eAAe,CAACK,sBAAsB,CAACiB,GAAG,CAAC,EAAE;MACxDgD,GAAG,EAAE,MAAM;MACXC,GAAG,EAAEH,QAAQ;MACbI,GAAG,EAAG,GAAE3E,IAAI,CAACqB,EAAE,CAAC,CAAE;IACpB,CAAC,CAAC;IACF,OAAOmD,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMI,YAAYA,CAAA,EAA2B;IAC3C;IACA,MAAMC,UAAU,GAAI,GAAE7E,IAAI,CAACqB,EAAE,CAAC,CAAE,EAAC;IACjC,MAAMyD,OAAO,GAAG,MAAMzE,QAAQ,CAACwE,UAAU,CAAC;IAC1C,MAAME,oBAAoB,GAAG,MAAM,IAAI,CAACT,eAAe,CAACQ,OAAO,CAAC;IAChE,MAAME,kBAAkB,GAAG,MAAM5E,IAAI,CAAC2E,oBAAoB,EAAEF,UAAU,CAAC;IACvE,MAAMvE,SAAS,CAACuE,UAAU,CAAC;IAE3B,MAAMI,UAAU,GAAG,MAAMpF,OAAO,CAACsD,eAAe,CAC9C4B,oBAAoB,EACpBC,kBACF,CAAC;IACD,MAAME,cAAc,GAAGzF,SAAS,CAACwF,UAAU,CAAC;IAC5C,MAAMV,QAAQ,GAAGW,cAAc,CAACC,OAAO,CAACT,GAAa;IACrD,MAAMnB,WAAW,GAAG;MAClB6B,UAAU,EAAE,oBAAoB;MAChC3C,SAAS,EAAE,IAAI,CAAC3B,QAAQ;MACxBuE,IAAI,EAAE,IAAI,CAAC9D,iBAAiB;MAC5B+D,aAAa,EAAE,IAAI,CAAChE,YAAY;MAChCW,qBAAqB,EACnB,wDAAwD;MAC1DuB,gBAAgB,EAAE,IAAI,CAAC3C,yBAAyB;MAChD2B,YAAY,EAAE,IAAI,CAAC5B;IACrB,CAAC;IACD,IAAI8C,QAAQ,GAAG,IAAIC,eAAe,CAACJ,WAAW,CAAC;IAE/C,MAAMK,QAAQ,GAAG,MAAM,IAAI,CAAC7C,QAAQ,CAACwD,QAAQ,EAAE;MAC7CV,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,cAAc,EAAE,mCAAmC;QACnDyB,IAAI,EAAEN;MACR,CAAC;MACDlB,IAAI,EAAEL,QAAQ,CAACM,QAAQ,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAIJ,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE;MAC3B,OAAO,MAAML,QAAQ,CAACO,IAAI,CAAC,CAAC;IAC9B;IAEA,MAAM,IAAIlE,eAAe,CACtB,0CAAyC,MAAM2D,QAAQ,CAACS,IAAI,CAAC,CAAE,EAClE,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMmB,qBAAqBA,CAACC,KAAa,EAAmB;IAC1D,MAAMC,aAAa,GAAG,IAAI7F,OAAO,CAAC;MAChC4F;IACF,CAAC,CAAC,CACC9C,kBAAkB,CAAC;MAClBC,GAAG,EAAE,OAAO;MACZR,IAAI,EAAE;IACR,CAAC,CAAC,CACDuD,WAAW,CAAC,IAAI,CAAC/E,qBAAqB,CAAC,CACvCgF,SAAS,CAAC,IAAI,CAAC9E,QAAQ,CAAC,CACxB+B,WAAW,CAAC,CAAC,CACbC,iBAAiB,CAAC,IAAI,CAAC,CACvBC,MAAM,CAAC,CAAC;IACX,OAAO2C,aAAa;EACtB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMG,aAAaA,CACjBC,kBAA0B,EAC1BC,gBAAwB,EACxBC,kBAA0B,EAC1BC,mBAA2B,EAC3BC,WAAmB,EACnBC,OAAgB,EACM;IACtB,MAAMC,gBAAgB,GAAG,MAAMvG,OAAO,CAACsD,eAAe,CACpD2C,kBAAkB,EAClBC,gBACF,CAAC;IACD,MAAMM,gBAAgB,GAAG,MAAMxG,OAAO,CAACsD,eAAe,CACpD6C,kBAAkB,EAClBC,mBACF,CAAC;IACD,MAAMK,aAAa,GAAG,IAAIjD,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC1C,kBAAkB,CAAC,CAAC2C,IAAI;IAE1E,MAAMC,WAAW,GAAG;MAClBgD,qBAAqB,EAAEC,IAAI,CAACC,SAAS,CAAC;QAAErE,IAAI,EAAE,CAAC,iBAAiB;MAAE,CAAC,CAAC;MACpEC,MAAM,EAAE,WAAW;MACnBqE,KAAK,EAAEF,IAAI,CAACC,SAAS,CAAC;QACpBE,GAAG,EAAEN,gBAAgB;QACrBF,OAAO;QACPS,UAAU,EAAE;MACd,CAAC;IACH,CAAC;IACD,MAAMlD,QAAQ,GAAG,IAAIC,eAAe,CAACJ,WAAW,CAAC;IAEjD,MAAMK,QAAQ,GAAG,MAAM,IAAI,CAAC7C,QAAQ,CAACuF,aAAa,EAAE;MAClDzC,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,cAAc,EAAE,mCAAmC;QACnDyB,IAAI,EAAEa,gBAAgB;QACtBS,aAAa,EAAEX;MACjB,CAAC;MACDnC,IAAI,EAAEL,QAAQ,CAACM,QAAQ,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAIJ,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE;MAC3B,OAAO,MAAML,QAAQ,CAACO,IAAI,CAAC,CAAC;IAC9B;IAEA,MAAM,IAAIlE,eAAe,CAAE,8BAA6B,CAAC;EAC3D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAM6G,sBAAsBA,CAAA,EAA0C;IACpE,MAAMC,WAAW,GAAG,IAAI1D,GAAG,CACzB,kCAAkC,EAClC,IAAI,CAAC1C,kBACP,CAAC,CAAC2C,IAAI;IAEN,MAAMM,QAAQ,GAAG,MAAM,IAAI,CAAC7C,QAAQ,CAACgG,WAAW,CAAC;IAEjD,IAAInD,QAAQ,CAACK,MAAM,KAAK,GAAG,EAAE;MAC3B,MAAM+C,WAAW,GAAG,MAAMpD,QAAQ,CAACS,IAAI,CAAC,CAAC;MACzC,MAAM;QAAEc;MAAQ,CAAC,GAAG1F,SAAS,CAACuH,WAAW,CAAC;MAC1C,MAAM9C,MAAM,GAAG3D,4BAA4B,CAAC0G,SAAS,CAAC9B,OAAO,CAAC;MAC9D,IAAIjB,MAAM,CAACgD,OAAO,EAAE;QAClB,MAAMC,cAAc,GAAGjD,MAAM,CAACkD,IAAI;QAClC,MAAMzH,SAAS,CAACqH,WAAW,EAAEG,cAAc,CAACE,IAAI,CAACC,IAAI,CAAC;QACtD,OAAOH,cAAc;MACvB,CAAC,MAAM;QACL,MAAM,IAAIjH,gBAAgB,CAACgE,MAAM,CAACqD,KAAK,CAACC,OAAO,CAAC;MAClD;IACF;IAEA,MAAM,IAAItH,gBAAgB,CACvB,4CAA2C,MAAM0D,QAAQ,CAACS,IAAI,CAAC,CAAE,iBAChET,QAAQ,CAACK,MACV,EACH,CAAC;EACH;AACF"}
1
+ {"version":3,"names":["sha256ToBase64","SignJWT","thumbprint","JWK","uuid","PidIssuingError","createDPopToken","PidIssuerEntityConfiguration","createCryptoContextFor","getEntityConfiguration","getGenericEntityConfiguration","generate","deleteKey","SdJwt","appFetch","fetch","arguments","length","undefined","relyingPartyBaseUrl","then","parse","getPar","_ref","wiaCryptoContext","clientId","codeVerifier","walletProviderBaseUrl","pidProviderEntityConfiguration","walletInstanceAttestation","keyThumbprint","getPublicKey","codeChallenge","signedJwtForPar","setProtectedHeader","kid","setPayload","client_assertion_type","authorization_details","credentialDefinition","type","format","response_type","code_challenge_method","redirect_uri","state","v4","client_id","code_challenge","setIssuedAt","setExpirationTime","sign","parUrl","payload","metadata","openid_credential_issuer","pushed_authorization_request_endpoint","requestBody","client_assertion","request","formBody","URLSearchParams","response","method","headers","body","toString","status","result","json","request_uri","text","authorizeIssuing","_ref2","_","authorizationCode","tokenUrl","token_endpoint","keytag","ephemeralContext","signedDPop","htm","htu","jti","grant_type","code","code_verifier","DPoP","c_nonce","access_token","accessToken","nonce","createNonceProof","issuer","audience","ctx","setAudience","setIssuer","getCredential","_ref3","pidCryptoContext","_ref4","cieData","signedDPopForPid","signedNonceProof","credentialUrl","credential_endpoint","credential_definition","JSON","stringify","proof","jwt","proof_type","Authorization","pidResponse","validatePid","credential","pidJwt","decoded","decode","pidKey","holderBindedKey","sdJwt","cnf","jwk"],"sourceRoot":"../../../src","sources":["pid/issuing.ts"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EntityConfiguration } from "../trust/types";
1
2
  import { JWK } from "../utils/jwk";
2
3
  import { z } from "zod";
3
4
  export const PidDisplayMetadata = z.object({
@@ -10,32 +11,34 @@ export const PidDisplayMetadata = z.object({
10
11
  background_color: z.string(),
11
12
  text_color: z.string()
12
13
  });
13
- export const PidIssuerEntityConfiguration = z.object({
14
- jwks: z.object({
15
- keys: z.array(JWK)
16
- }),
17
- metadata: z.object({
18
- openid_credential_issuer: z.object({
19
- credential_issuer: z.string(),
20
- authorization_endpoint: z.string(),
21
- token_endpoint: z.string(),
22
- pushed_authorization_request_endpoint: z.string(),
23
- dpop_signing_alg_values_supported: z.array(z.string()),
24
- credential_endpoint: z.string(),
25
- credentials_supported: z.array(z.object({
26
- format: z.literal("vc+sd-jwt"),
27
- cryptographic_binding_methods_supported: z.array(z.string()),
28
- cryptographic_suites_supported: z.array(z.string()),
29
- display: z.array(PidDisplayMetadata)
30
- }))
14
+ export const PidIssuerEntityConfiguration = EntityConfiguration.and(z.object({
15
+ payload: z.object({
16
+ jwks: z.object({
17
+ keys: z.array(JWK)
31
18
  }),
32
- federation_entity: z.object({
33
- organization_name: z.string(),
34
- homepage_uri: z.string(),
35
- policy_uri: z.string(),
36
- tos_uri: z.string(),
37
- logo_uri: z.string()
19
+ metadata: z.object({
20
+ openid_credential_issuer: z.object({
21
+ credential_issuer: z.string(),
22
+ authorization_endpoint: z.string(),
23
+ token_endpoint: z.string(),
24
+ pushed_authorization_request_endpoint: z.string(),
25
+ dpop_signing_alg_values_supported: z.array(z.string()),
26
+ credential_endpoint: z.string(),
27
+ credentials_supported: z.array(z.object({
28
+ format: z.literal("vc+sd-jwt"),
29
+ cryptographic_binding_methods_supported: z.array(z.string()),
30
+ cryptographic_suites_supported: z.array(z.string()),
31
+ display: z.array(PidDisplayMetadata)
32
+ }))
33
+ }),
34
+ federation_entity: z.object({
35
+ organization_name: z.string(),
36
+ homepage_uri: z.string(),
37
+ policy_uri: z.string(),
38
+ tos_uri: z.string(),
39
+ logo_uri: z.string()
40
+ })
38
41
  })
39
42
  })
40
- });
43
+ }));
41
44
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["JWK","z","PidDisplayMetadata","object","name","string","locale","logo","url","alt_text","background_color","text_color","PidIssuerEntityConfiguration","jwks","keys","array","metadata","openid_credential_issuer","credential_issuer","authorization_endpoint","token_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","credential_endpoint","credentials_supported","format","literal","cryptographic_binding_methods_supported","cryptographic_suites_supported","display","federation_entity","organization_name","homepage_uri","policy_uri","tos_uri","logo_uri"],"sourceRoot":"../../../src","sources":["pid/metadata.ts"],"mappings":"AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,CAAC,QAAQ,KAAK;AAGvB,OAAO,MAAMC,kBAAkB,GAAGD,CAAC,CAACE,MAAM,CAAC;EACzCC,IAAI,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC;EAChBC,MAAM,EAAEL,CAAC,CAACI,MAAM,CAAC,CAAC;EAClBE,IAAI,EAAEN,CAAC,CAACE,MAAM,CAAC;IACbK,GAAG,EAAEP,CAAC,CAACI,MAAM,CAAC,CAAC;IACfI,QAAQ,EAAER,CAAC,CAACI,MAAM,CAAC;EACrB,CAAC,CAAC;EACFK,gBAAgB,EAAET,CAAC,CAACI,MAAM,CAAC,CAAC;EAC5BM,UAAU,EAAEV,CAAC,CAACI,MAAM,CAAC;AACvB,CAAC,CAAC;AAKF,OAAO,MAAMO,4BAA4B,GAAGX,CAAC,CAACE,MAAM,CAAC;EACnDU,IAAI,EAAEZ,CAAC,CAACE,MAAM,CAAC;IAAEW,IAAI,EAAEb,CAAC,CAACc,KAAK,CAACf,GAAG;EAAE,CAAC,CAAC;EACtCgB,QAAQ,EAAEf,CAAC,CAACE,MAAM,CAAC;IACjBc,wBAAwB,EAAEhB,CAAC,CAACE,MAAM,CAAC;MACjCe,iBAAiB,EAAEjB,CAAC,CAACI,MAAM,CAAC,CAAC;MAC7Bc,sBAAsB,EAAElB,CAAC,CAACI,MAAM,CAAC,CAAC;MAClCe,cAAc,EAAEnB,CAAC,CAACI,MAAM,CAAC,CAAC;MAC1BgB,qCAAqC,EAAEpB,CAAC,CAACI,MAAM,CAAC,CAAC;MACjDiB,iCAAiC,EAAErB,CAAC,CAACc,KAAK,CAACd,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC;MACtDkB,mBAAmB,EAAEtB,CAAC,CAACI,MAAM,CAAC,CAAC;MAC/BmB,qBAAqB,EAAEvB,CAAC,CAACc,KAAK,CAC5Bd,CAAC,CAACE,MAAM,CAAC;QACPsB,MAAM,EAAExB,CAAC,CAACyB,OAAO,CAAC,WAAW,CAAC;QAC9BC,uCAAuC,EAAE1B,CAAC,CAACc,KAAK,CAACd,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC;QAC5DuB,8BAA8B,EAAE3B,CAAC,CAACc,KAAK,CAACd,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC;QACnDwB,OAAO,EAAE5B,CAAC,CAACc,KAAK,CAACb,kBAAkB;MACrC,CAAC,CACH;IACF,CAAC,CAAC;IACF4B,iBAAiB,EAAE7B,CAAC,CAACE,MAAM,CAAC;MAC1B4B,iBAAiB,EAAE9B,CAAC,CAACI,MAAM,CAAC,CAAC;MAC7B2B,YAAY,EAAE/B,CAAC,CAACI,MAAM,CAAC,CAAC;MACxB4B,UAAU,EAAEhC,CAAC,CAACI,MAAM,CAAC,CAAC;MACtB6B,OAAO,EAAEjC,CAAC,CAACI,MAAM,CAAC,CAAC;MACnB8B,QAAQ,EAAElC,CAAC,CAACI,MAAM,CAAC;IACrB,CAAC;EACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"names":["EntityConfiguration","JWK","z","PidDisplayMetadata","object","name","string","locale","logo","url","alt_text","background_color","text_color","PidIssuerEntityConfiguration","and","payload","jwks","keys","array","metadata","openid_credential_issuer","credential_issuer","authorization_endpoint","token_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","credential_endpoint","credentials_supported","format","literal","cryptographic_binding_methods_supported","cryptographic_suites_supported","display","federation_entity","organization_name","homepage_uri","policy_uri","tos_uri","logo_uri"],"sourceRoot":"../../../src","sources":["pid/metadata.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,GAAG,QAAQ,cAAc;AAClC,SAASC,CAAC,QAAQ,KAAK;AAGvB,OAAO,MAAMC,kBAAkB,GAAGD,CAAC,CAACE,MAAM,CAAC;EACzCC,IAAI,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC;EAChBC,MAAM,EAAEL,CAAC,CAACI,MAAM,CAAC,CAAC;EAClBE,IAAI,EAAEN,CAAC,CAACE,MAAM,CAAC;IACbK,GAAG,EAAEP,CAAC,CAACI,MAAM,CAAC,CAAC;IACfI,QAAQ,EAAER,CAAC,CAACI,MAAM,CAAC;EACrB,CAAC,CAAC;EACFK,gBAAgB,EAAET,CAAC,CAACI,MAAM,CAAC,CAAC;EAC5BM,UAAU,EAAEV,CAAC,CAACI,MAAM,CAAC;AACvB,CAAC,CAAC;AAKF,OAAO,MAAMO,4BAA4B,GAAGb,mBAAmB,CAACc,GAAG,CACjEZ,CAAC,CAACE,MAAM,CAAC;EACPW,OAAO,EAAEb,CAAC,CAACE,MAAM,CAAC;IAChBY,IAAI,EAAEd,CAAC,CAACE,MAAM,CAAC;MAAEa,IAAI,EAAEf,CAAC,CAACgB,KAAK,CAACjB,GAAG;IAAE,CAAC,CAAC;IACtCkB,QAAQ,EAAEjB,CAAC,CAACE,MAAM,CAAC;MACjBgB,wBAAwB,EAAElB,CAAC,CAACE,MAAM,CAAC;QACjCiB,iBAAiB,EAAEnB,CAAC,CAACI,MAAM,CAAC,CAAC;QAC7BgB,sBAAsB,EAAEpB,CAAC,CAACI,MAAM,CAAC,CAAC;QAClCiB,cAAc,EAAErB,CAAC,CAACI,MAAM,CAAC,CAAC;QAC1BkB,qCAAqC,EAAEtB,CAAC,CAACI,MAAM,CAAC,CAAC;QACjDmB,iCAAiC,EAAEvB,CAAC,CAACgB,KAAK,CAAChB,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC;QACtDoB,mBAAmB,EAAExB,CAAC,CAACI,MAAM,CAAC,CAAC;QAC/BqB,qBAAqB,EAAEzB,CAAC,CAACgB,KAAK,CAC5BhB,CAAC,CAACE,MAAM,CAAC;UACPwB,MAAM,EAAE1B,CAAC,CAAC2B,OAAO,CAAC,WAAW,CAAC;UAC9BC,uCAAuC,EAAE5B,CAAC,CAACgB,KAAK,CAAChB,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC;UAC5DyB,8BAA8B,EAAE7B,CAAC,CAACgB,KAAK,CAAChB,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC;UACnD0B,OAAO,EAAE9B,CAAC,CAACgB,KAAK,CAACf,kBAAkB;QACrC,CAAC,CACH;MACF,CAAC,CAAC;MACF8B,iBAAiB,EAAE/B,CAAC,CAACE,MAAM,CAAC;QAC1B8B,iBAAiB,EAAEhC,CAAC,CAACI,MAAM,CAAC,CAAC;QAC7B6B,YAAY,EAAEjC,CAAC,CAACI,MAAM,CAAC,CAAC;QACxB8B,UAAU,EAAElC,CAAC,CAACI,MAAM,CAAC,CAAC;QACtB+B,OAAO,EAAEnC,CAAC,CAACI,MAAM,CAAC,CAAC;QACnBgC,QAAQ,EAAEpC,CAAC,CAACI,MAAM,CAAC;MACrB,CAAC;IACH,CAAC;EACH,CAAC;AACH,CAAC,CACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { RelyingPartySolution } from "..";
1
+ import * as RelyingPartySolution from "..";
2
2
  import { AuthRequestDecodeError } from "../../utils/errors";
3
3
  import { RpEntityConfiguration } from "../types";
4
4
  describe("decodeAuthRequestQR", () => {
@@ -1 +1 @@
1
- {"version":3,"names":["RelyingPartySolution","AuthRequestDecodeError","RpEntityConfiguration","describe","it","qrcode","result","decodeAuthRequestQR","expect","requestURI","toEqual","toThrowError","pp","header","alg","kid","typ","payload","exp","iat","iss","sub","jwks","keys","kty","e","n","metadata","federation_entity","organization_name","homepage_uri","policy_uri","logo_uri","contacts","wallet_relying_party","application_type","authorization_encrypted_response_alg","authorization_encrypted_response_enc","authorization_signed_response_alg","client_id","client_name","default_acr_values","default_max_age","id_token_encrypted_response_alg","id_token_encrypted_response_enc","id_token_signed_response_alg","presentation_definitions","id","input_descriptors","format","constraints","fields","filter","const","type","path","intent_to_retain","limit_disclosure","jwt","mso_mdoc","redirect_uris","request_uris","require_auth_time","subject_type","vp_formats","jwt_vp_json","crv","d","use","x","y","p","q","authority_hints","safeParse","success","error","toBe"],"sourceRoot":"../../../../src","sources":["rp/__test__/index.test.ts"],"mappings":"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"}
1
+ {"version":3,"names":["RelyingPartySolution","AuthRequestDecodeError","RpEntityConfiguration","describe","it","qrcode","result","decodeAuthRequestQR","expect","requestURI","toEqual","toThrowError","pp","header","alg","kid","typ","payload","exp","iat","iss","sub","jwks","keys","kty","e","n","metadata","federation_entity","organization_name","homepage_uri","policy_uri","logo_uri","contacts","wallet_relying_party","application_type","authorization_encrypted_response_alg","authorization_encrypted_response_enc","authorization_signed_response_alg","client_id","client_name","default_acr_values","default_max_age","id_token_encrypted_response_alg","id_token_encrypted_response_enc","id_token_signed_response_alg","presentation_definitions","id","input_descriptors","format","constraints","fields","filter","const","type","path","intent_to_retain","limit_disclosure","jwt","mso_mdoc","redirect_uris","request_uris","require_auth_time","subject_type","vp_formats","jwt_vp_json","crv","d","use","x","y","p","q","authority_hints","safeParse","success","error","toBe"],"sourceRoot":"../../../../src","sources":["rp/__test__/index.test.ts"],"mappings":"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"}