@pagopa/io-react-native-wallet 0.4.2 → 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.
- package/README.md +98 -22
- package/lib/commonjs/index.js +12 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/pid/index.js +3 -8
- package/lib/commonjs/pid/index.js.map +1 -1
- package/lib/commonjs/pid/issuing.js +152 -168
- package/lib/commonjs/pid/issuing.js.map +1 -1
- package/lib/commonjs/pid/metadata.js +28 -25
- package/lib/commonjs/pid/metadata.js.map +1 -1
- package/lib/commonjs/rp/__test__/index.test.js +5 -3
- package/lib/commonjs/rp/__test__/index.test.js.map +1 -1
- package/lib/commonjs/rp/index.js +158 -154
- package/lib/commonjs/rp/index.js.map +1 -1
- package/lib/commonjs/trust/types.js +9 -7
- package/lib/commonjs/trust/types.js.map +1 -1
- package/lib/commonjs/utils/crypto.js +46 -0
- package/lib/commonjs/utils/crypto.js.map +1 -0
- package/lib/commonjs/utils/dpop.js +14 -7
- package/lib/commonjs/utils/dpop.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/index.js +3 -3
- package/lib/commonjs/wallet-instance-attestation/issuing.js +50 -60
- package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/module/index.js +4 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/pid/index.js +1 -1
- package/lib/module/pid/index.js.map +1 -1
- package/lib/module/pid/issuing.js +151 -171
- package/lib/module/pid/issuing.js.map +1 -1
- package/lib/module/pid/metadata.js +28 -25
- package/lib/module/pid/metadata.js.map +1 -1
- package/lib/module/rp/__test__/index.test.js +1 -1
- package/lib/module/rp/__test__/index.test.js.map +1 -1
- package/lib/module/rp/index.js +155 -153
- package/lib/module/rp/index.js.map +1 -1
- package/lib/module/trust/types.js +7 -6
- package/lib/module/trust/types.js.map +1 -1
- package/lib/module/utils/crypto.js +40 -0
- package/lib/module/utils/crypto.js.map +1 -0
- package/lib/module/utils/dpop.js +13 -5
- package/lib/module/utils/dpop.js.map +1 -1
- package/lib/module/wallet-instance-attestation/index.js +2 -2
- package/lib/module/wallet-instance-attestation/index.js.map +1 -1
- package/lib/module/wallet-instance-attestation/issuing.js +48 -58
- package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/typescript/index.d.ts +4 -3
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/pid/index.d.ts +1 -1
- package/lib/typescript/pid/index.d.ts.map +1 -1
- package/lib/typescript/pid/issuing.d.ts +51 -87
- package/lib/typescript/pid/issuing.d.ts.map +1 -1
- package/lib/typescript/pid/metadata.d.ts +1338 -408
- package/lib/typescript/pid/metadata.d.ts.map +1 -1
- package/lib/typescript/rp/index.d.ts +48 -86
- package/lib/typescript/rp/index.d.ts.map +1 -1
- package/lib/typescript/rp/types.d.ts +413 -57
- package/lib/typescript/rp/types.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/index.d.ts +1 -1
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
- package/lib/typescript/trust/types.d.ts +1000 -274
- package/lib/typescript/trust/types.d.ts.map +1 -1
- package/lib/typescript/utils/crypto.d.ts +10 -0
- package/lib/typescript/utils/crypto.d.ts.map +1 -0
- package/lib/typescript/utils/dpop.d.ts +10 -2
- package/lib/typescript/utils/dpop.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/index.d.ts +2 -2
- package/lib/typescript/wallet-instance-attestation/index.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts +17 -31
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +5 -3
- package/src/pid/index.ts +1 -1
- package/src/pid/issuing.ts +233 -225
- package/src/pid/metadata.ts +32 -27
- package/src/rp/__test__/index.test.ts +1 -1
- package/src/rp/index.ts +180 -188
- package/src/sd-jwt/index.ts +1 -1
- package/src/trust/types.ts +39 -32
- package/src/utils/crypto.ts +41 -0
- package/src/utils/dpop.ts +17 -7
- package/src/wallet-instance-attestation/index.ts +2 -2
- package/src/wallet-instance-attestation/issuing.ts +55 -62
@@ -1,45 +1,46 @@
|
|
1
|
-
import {
|
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
|
6
|
-
import {
|
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
|
-
|
7
|
+
import { createCryptoContextFor, getEntityConfiguration as getGenericEntityConfiguration } from "..";
|
8
|
+
import { generate, deleteKey } from "@pagopa/io-react-native-crypto";
|
9
|
+
import { SdJwt } from ".";
|
10
10
|
// This is a temporary type that will be used for demo purposes only
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
}
|
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
|
+
};
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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({
|
39
42
|
kid: keyThumbprint
|
40
|
-
}
|
41
|
-
const codeChallenge = await sha256ToBase64(this.codeVerifier);
|
42
|
-
const unsignedJwtForPar = new SignJWT({
|
43
|
+
}).setPayload({
|
43
44
|
client_assertion_type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
|
44
45
|
authorization_details: [{
|
45
46
|
credentialDefinition: {
|
@@ -50,42 +51,23 @@ export class Issuing {
|
|
50
51
|
}],
|
51
52
|
response_type: "code",
|
52
53
|
code_challenge_method: "s256",
|
53
|
-
redirect_uri:
|
54
|
-
state:
|
55
|
-
client_id:
|
54
|
+
redirect_uri: walletProviderBaseUrl,
|
55
|
+
state: `${uuid.v4()}`,
|
56
|
+
client_id: clientId,
|
56
57
|
code_challenge: codeChallenge
|
57
|
-
}).
|
58
|
-
|
59
|
-
kid: publicKey.kid
|
60
|
-
}).setIssuedAt().setExpirationTime("1h").toSign();
|
61
|
-
return unsignedJwtForPar;
|
62
|
-
}
|
63
|
-
|
64
|
-
/**
|
65
|
-
* Make a PAR request to the PID issuer and return the response url
|
66
|
-
*
|
67
|
-
* @function
|
68
|
-
* @param unsignedJwtForPar The unsigned JWT for PAR
|
69
|
-
* @param signature The JWT for PAR signature
|
70
|
-
*
|
71
|
-
* @returns Unsigned PAR url
|
72
|
-
*
|
73
|
-
*/
|
74
|
-
async getPar(unsignedJwtForPar, signature) {
|
75
|
-
const codeChallenge = await sha256ToBase64(this.codeVerifier);
|
76
|
-
const signedJwtForPar = await SignJWT.appendSignature(unsignedJwtForPar, signature);
|
77
|
-
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;
|
78
60
|
const requestBody = {
|
79
61
|
response_type: "code",
|
80
|
-
client_id:
|
62
|
+
client_id: clientId,
|
81
63
|
code_challenge: codeChallenge,
|
82
64
|
code_challenge_method: "S256",
|
83
65
|
client_assertion_type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
|
84
|
-
client_assertion:
|
66
|
+
client_assertion: walletInstanceAttestation,
|
85
67
|
request: signedJwtForPar
|
86
68
|
};
|
87
69
|
var formBody = new URLSearchParams(requestBody);
|
88
|
-
const response = await
|
70
|
+
const response = await appFetch(parUrl, {
|
89
71
|
method: "POST",
|
90
72
|
headers: {
|
91
73
|
"Content-Type": "application/x-www-form-urlencoded"
|
@@ -97,55 +79,56 @@ export class Issuing {
|
|
97
79
|
return result.request_uri;
|
98
80
|
}
|
99
81
|
throw new PidIssuingError(`Unable to obtain PAR. Response code: ${await response.text()}`);
|
100
|
-
}
|
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);
|
101
110
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
*
|
108
|
-
* @returns Unsigned JWT for DPoP
|
109
|
-
*
|
110
|
-
*/
|
111
|
-
async getUnsignedDPoP(jwk) {
|
112
|
-
const tokenUrl = new URL("/token", this.pidProviderBaseUrl).href;
|
113
|
-
const dPop = getUnsignedDPop(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({
|
114
116
|
htm: "POST",
|
115
117
|
htu: tokenUrl,
|
116
118
|
jti: `${uuid.v4()}`
|
117
|
-
});
|
118
|
-
|
119
|
-
}
|
120
|
-
|
121
|
-
/**
|
122
|
-
* Make an auth token request to the PID issuer
|
123
|
-
*
|
124
|
-
* @function
|
125
|
-
* @returns a token response
|
126
|
-
*
|
127
|
-
*/
|
128
|
-
async getAuthToken() {
|
129
|
-
//Generate fresh keys for DPoP
|
130
|
-
const dPopKeyTag = `${uuid.v4()}`;
|
131
|
-
const dPopKey = await generate(dPopKeyTag);
|
132
|
-
const unsignedDPopForToken = await this.getUnsignedDPoP(dPopKey);
|
133
|
-
const dPopTokenSignature = await sign(unsignedDPopForToken, dPopKeyTag);
|
134
|
-
await deleteKey(dPopKeyTag);
|
135
|
-
const signedDPop = await SignJWT.appendSignature(unsignedDPopForToken, dPopTokenSignature);
|
136
|
-
const decodedJwtDPop = decodeJwt(signedDPop);
|
137
|
-
const tokenUrl = decodedJwtDPop.payload.htu;
|
119
|
+
}, ephemeralContext);
|
120
|
+
await deleteKey(keytag);
|
138
121
|
const requestBody = {
|
139
122
|
grant_type: "authorization code",
|
140
|
-
client_id:
|
141
|
-
code:
|
142
|
-
code_verifier:
|
123
|
+
client_id: clientId,
|
124
|
+
code: authorizationCode,
|
125
|
+
code_verifier: codeVerifier,
|
143
126
|
client_assertion_type: "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
|
144
|
-
client_assertion:
|
145
|
-
redirect_uri:
|
127
|
+
client_assertion: walletInstanceAttestation,
|
128
|
+
redirect_uri: walletProviderBaseUrl
|
146
129
|
};
|
147
130
|
var formBody = new URLSearchParams(requestBody);
|
148
|
-
const response = await
|
131
|
+
const response = await appFetch(tokenUrl, {
|
149
132
|
method: "POST",
|
150
133
|
headers: {
|
151
134
|
"Content-Type": "application/x-www-form-urlencoded",
|
@@ -154,48 +137,62 @@ export class Issuing {
|
|
154
137
|
body: formBody.toString()
|
155
138
|
});
|
156
139
|
if (response.status === 200) {
|
157
|
-
|
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
|
+
};
|
158
152
|
}
|
159
153
|
throw new PidIssuingError(`Unable to obtain token. Response code: ${await response.text()}`);
|
160
|
-
}
|
154
|
+
};
|
155
|
+
};
|
161
156
|
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
const unsignedProof = new SignJWT({
|
173
|
-
nonce
|
174
|
-
}).setProtectedHeader({
|
175
|
-
alg: "ES256",
|
176
|
-
type: "openid4vci-proof+jwt"
|
177
|
-
}).setAudience(this.walletProviderBaseUrl).setIssuer(this.clientId).setIssuedAt().setExpirationTime("1h").toSign();
|
178
|
-
return unsignedProof;
|
179
|
-
}
|
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
|
+
};
|
180
167
|
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
async
|
196
|
-
|
197
|
-
|
198
|
-
|
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;
|
199
196
|
const requestBody = {
|
200
197
|
credential_definition: JSON.stringify({
|
201
198
|
type: ["eu.eudiw.pid.it"]
|
@@ -208,7 +205,7 @@ export class Issuing {
|
|
208
205
|
})
|
209
206
|
};
|
210
207
|
const formBody = new URLSearchParams(requestBody);
|
211
|
-
const response = await
|
208
|
+
const response = await appFetch(credentialUrl, {
|
212
209
|
method: "POST",
|
213
210
|
headers: {
|
214
211
|
"Content-Type": "application/x-www-form-urlencoded",
|
@@ -218,36 +215,19 @@ export class Issuing {
|
|
218
215
|
body: formBody.toString()
|
219
216
|
});
|
220
217
|
if (response.status === 200) {
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
}
|
225
|
-
|
226
|
-
/**
|
227
|
-
* Obtain the PID issuer metadata
|
228
|
-
*
|
229
|
-
* @function
|
230
|
-
* @returns PID issuer metadata
|
231
|
-
*
|
232
|
-
*/
|
233
|
-
async getEntityConfiguration() {
|
234
|
-
const metadataUrl = new URL("ci/.well-known/openid-federation", this.pidProviderBaseUrl).href;
|
235
|
-
const response = await this.appFetch(metadataUrl);
|
236
|
-
if (response.status === 200) {
|
237
|
-
const jwtMetadata = await response.text();
|
238
|
-
const {
|
239
|
-
payload
|
240
|
-
} = decodeJwt(jwtMetadata);
|
241
|
-
const result = PidIssuerEntityConfiguration.safeParse(payload);
|
242
|
-
if (result.success) {
|
243
|
-
const parsedMetadata = result.data;
|
244
|
-
await verifyJwt(jwtMetadata, parsedMetadata.jwks.keys);
|
245
|
-
return parsedMetadata;
|
246
|
-
} else {
|
247
|
-
throw new PidMetadataError(result.error.message);
|
248
|
-
}
|
218
|
+
const pidResponse = await response.json();
|
219
|
+
await validatePid(pidResponse.credential, pidCryptoContext);
|
220
|
+
return pidResponse;
|
249
221
|
}
|
250
|
-
throw new
|
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)}`);
|
251
231
|
}
|
252
|
-
}
|
232
|
+
};
|
253
233
|
//# sourceMappingURL=issuing.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
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
|
-
|
15
|
-
|
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
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
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,
|
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 +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":"AAAA,
|
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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"}
|