@pagopa/io-react-native-wallet 1.3.0 → 1.3.1
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/lib/commonjs/credential/issuance/06-obtain-credential.js +1 -1
- package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/types.js +1 -1
- package/lib/commonjs/credential/issuance/types.js.map +1 -1
- package/lib/commonjs/credential/presentation/03-get-request-object.js +2 -18
- package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js +52 -12
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/README.md +1 -3
- package/lib/commonjs/credential/presentation/index.js +6 -0
- package/lib/commonjs/credential/presentation/index.js.map +1 -1
- package/lib/commonjs/credential/presentation/types.js +19 -1
- package/lib/commonjs/credential/presentation/types.js.map +1 -1
- package/lib/module/credential/issuance/06-obtain-credential.js +1 -1
- package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/types.js +1 -1
- package/lib/module/credential/issuance/types.js.map +1 -1
- package/lib/module/credential/presentation/03-get-request-object.js +2 -17
- package/lib/module/credential/presentation/03-get-request-object.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +1 -1
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/module/credential/presentation/08-send-authorization-response.js +51 -11
- package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/README.md +1 -3
- package/lib/module/credential/presentation/index.js +2 -2
- package/lib/module/credential/presentation/index.js.map +1 -1
- package/lib/module/credential/presentation/types.js +18 -0
- package/lib/module/credential/presentation/types.js.map +1 -1
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/types.d.ts +4 -4
- package/lib/typescript/credential/presentation/03-get-request-object.d.ts +0 -3
- package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +23 -7
- package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/index.d.ts +3 -3
- package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/types.d.ts +26 -0
- package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/credential/issuance/06-obtain-credential.ts +6 -4
- package/src/credential/issuance/types.ts +1 -1
- package/src/credential/presentation/03-get-request-object.ts +1 -24
- package/src/credential/presentation/07-evaluate-input-descriptor.ts +2 -5
- package/src/credential/presentation/08-send-authorization-response.ts +70 -22
- package/src/credential/presentation/README.md +1 -3
- package/src/credential/presentation/index.ts +4 -0
- package/src/credential/presentation/types.ts +26 -0
@@ -99,15 +99,16 @@ export const prepareVpToken = async (requestObject, presentationDefinition, _ref
|
|
99
99
|
* Builds a URL-encoded form body for a direct POST response without encryption.
|
100
100
|
*
|
101
101
|
* @param requestObject - Contains state, nonce, and other relevant info.
|
102
|
-
* @param
|
103
|
-
* @param presentationSubmission - Object mapping credential disclosures.
|
102
|
+
* @param payload - Object that contains either the VP token to encrypt and the stringified mapping of the credential disclosures or the error code
|
104
103
|
* @returns A URL-encoded string suitable for an `application/x-www-form-urlencoded` POST body.
|
105
104
|
*/
|
106
|
-
export const buildDirectPostBody = async (requestObject,
|
105
|
+
export const buildDirectPostBody = async (requestObject, payload) => {
|
107
106
|
const formUrlEncodedBody = new URLSearchParams({
|
108
107
|
state: requestObject.state,
|
109
|
-
|
110
|
-
|
108
|
+
...Object.fromEntries(Object.entries(payload).map(_ref2 => {
|
109
|
+
let [key, value] = _ref2;
|
110
|
+
return [key, typeof value === "object" ? JSON.stringify(value) : value];
|
111
|
+
}))
|
111
112
|
});
|
112
113
|
return formUrlEncodedBody.toString();
|
113
114
|
};
|
@@ -117,17 +118,15 @@ export const buildDirectPostBody = async (requestObject, vpToken, presentationSu
|
|
117
118
|
*
|
118
119
|
* @param jwkKeys - Array of JWKs from the Relying Party for encryption.
|
119
120
|
* @param requestObject - Contains state, nonce, and other relevant info.
|
120
|
-
* @param
|
121
|
-
* @param presentationSubmission - Object mapping credential disclosures.
|
121
|
+
* @param payload - Object that contains either the VP token to encrypt and the mapping of the credential disclosures or the error code
|
122
122
|
* @returns A URL-encoded string for an `application/x-www-form-urlencoded` POST body,
|
123
123
|
* where `response` contains the encrypted JWE.
|
124
124
|
*/
|
125
|
-
export const buildDirectPostJwtBody = async (jwkKeys, requestObject,
|
125
|
+
export const buildDirectPostJwtBody = async (jwkKeys, requestObject, payload) => {
|
126
126
|
// Prepare the authorization response payload to be encrypted
|
127
127
|
const authzResponsePayload = JSON.stringify({
|
128
128
|
state: requestObject.state,
|
129
|
-
|
130
|
-
vp_token: vpToken
|
129
|
+
...payload
|
131
130
|
});
|
132
131
|
|
133
132
|
// Choose a suitable RSA public key for encryption
|
@@ -178,7 +177,13 @@ export const sendAuthorizationResponse = async function (requestObject, presenta
|
|
178
177
|
} = await prepareVpToken(requestObject, presentationDefinition, presentation);
|
179
178
|
|
180
179
|
// 2. Choose the appropriate request body builder based on response mode
|
181
|
-
const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject,
|
180
|
+
const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject, {
|
181
|
+
vp_token,
|
182
|
+
presentation_submission
|
183
|
+
}) : await buildDirectPostBody(requestObject, {
|
184
|
+
vp_token,
|
185
|
+
presentation_submission: presentation_submission
|
186
|
+
});
|
182
187
|
|
183
188
|
// 3. Send the authorization response via HTTP POST and validate the response
|
184
189
|
return await appFetch(requestObject.response_uri, {
|
@@ -189,4 +194,39 @@ export const sendAuthorizationResponse = async function (requestObject, presenta
|
|
189
194
|
body: requestBody
|
190
195
|
}).then(hasStatusOrThrow(200)).then(res => res.json()).then(AuthorizationResponse.parse);
|
191
196
|
};
|
197
|
+
|
198
|
+
/**
|
199
|
+
* Type definition for the function that sends the authorization response
|
200
|
+
* to the Relying Party, completing the presentation flow.
|
201
|
+
*/
|
202
|
+
|
203
|
+
/**
|
204
|
+
* Sends the authorization error response to the Relying Party (RP) using the specified `response_mode`.
|
205
|
+
* This function completes the presentation flow in an OpenID 4 Verifiable Presentations scenario.
|
206
|
+
*
|
207
|
+
* @param requestObject - The request details, including presentation requirements.
|
208
|
+
* @param error - The response error value
|
209
|
+
* @param jwkKeys - Array of JWKs from the Relying Party for optional encryption.
|
210
|
+
* @param context - Contains optional custom fetch implementation.
|
211
|
+
* @returns Parsed and validated authorization response from the Relying Party.
|
212
|
+
*/
|
213
|
+
export const sendAuthorizationErrorResponse = async function (requestObject, error, jwkKeys) {
|
214
|
+
let {
|
215
|
+
appFetch = fetch
|
216
|
+
} = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
217
|
+
// 2. Choose the appropriate request body builder based on response mode
|
218
|
+
const requestBody = requestObject.response_mode === "direct_post.jwt" ? await buildDirectPostJwtBody(jwkKeys, requestObject, {
|
219
|
+
error
|
220
|
+
}) : await buildDirectPostBody(requestObject, {
|
221
|
+
error
|
222
|
+
});
|
223
|
+
// 3. Send the authorization error response via HTTP POST and validate the response
|
224
|
+
return await appFetch(requestObject.response_uri, {
|
225
|
+
method: "POST",
|
226
|
+
headers: {
|
227
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
228
|
+
},
|
229
|
+
body: requestBody
|
230
|
+
}).then(hasStatusOrThrow(200)).then(res => res.json()).then(AuthorizationResponse.parse);
|
231
|
+
};
|
192
232
|
//# sourceMappingURL=08-send-authorization-response.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EncryptJwe","SignJWT","sha256ToBase64","uuid","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","disclose","z","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri","choosePublicKeyToEncrypt","rpJwkKeys","encKey","filter","jwk","use","prepareVpToken","requestObject","presentationDefinition","_ref","_presentationDefiniti","verifiableCredential","requestedClaims","cryptoContext","token","vp","sd_hash","kbJwt","setProtectedHeader","typ","alg","setPayload","nonce","setAudience","client_id","setIssuedAt","sign","vp_token","join","presentation_submission","id","v4","definition_id","descriptor_map","input_descriptors","path","format","buildDirectPostBody","
|
1
|
+
{"version":3,"names":["EncryptJwe","SignJWT","sha256ToBase64","uuid","NoSuitableKeysFoundInEntityConfiguration","hasStatusOrThrow","disclose","z","AuthorizationResponse","object","status","string","optional","response_code","redirect_uri","choosePublicKeyToEncrypt","rpJwkKeys","encKey","filter","jwk","use","prepareVpToken","requestObject","presentationDefinition","_ref","_presentationDefiniti","verifiableCredential","requestedClaims","cryptoContext","token","vp","sd_hash","kbJwt","setProtectedHeader","typ","alg","setPayload","nonce","setAudience","client_id","setIssuedAt","sign","vp_token","join","presentation_submission","id","v4","definition_id","descriptor_map","input_descriptors","path","format","buildDirectPostBody","payload","formUrlEncodedBody","URLSearchParams","state","Object","fromEntries","entries","map","_ref2","key","value","JSON","stringify","toString","buildDirectPostJwtBody","jwkKeys","authzResponsePayload","encPublicJwk","client_metadata","encryptedResponse","authorization_encrypted_response_alg","enc","authorization_encrypted_response_enc","kid","encrypt","formBody","response","sendAuthorizationResponse","presentation","appFetch","fetch","arguments","length","undefined","requestBody","response_mode","response_uri","method","headers","body","then","res","json","parse","sendAuthorizationErrorResponse","error"],"sourceRoot":"../../../../src","sources":["credential/presentation/08-send-authorization-response.ts"],"mappings":"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"}
|
@@ -62,9 +62,7 @@ const { rpConf } = await Credential.Presentation.evaluateRelyingPartyTrust(clien
|
|
62
62
|
|
63
63
|
const { requestObjectEncodedJwt } =
|
64
64
|
await Credential.Presentation.getRequestObject(requestURI, {
|
65
|
-
|
66
|
-
appFetch: appFetch,
|
67
|
-
walletInstanceAttestation: walletInstanceAttestation,
|
65
|
+
appFetch: appFetch
|
68
66
|
});
|
69
67
|
|
70
68
|
// Retrieve RP JWK
|
@@ -5,7 +5,7 @@ import { fetchJwksFromRequestObject, fetchJwksFromConfig } from "./04-retrieve-r
|
|
5
5
|
import { verifyRequestObjectSignature } from "./05-verify-request-object";
|
6
6
|
import { fetchPresentDefinition } from "./06-fetch-presentation-definition";
|
7
7
|
import { evaluateInputDescriptorForSdJwt4VC } from "./07-evaluate-input-descriptor";
|
8
|
-
import { sendAuthorizationResponse } from "./08-send-authorization-response";
|
8
|
+
import { sendAuthorizationResponse, sendAuthorizationErrorResponse } from "./08-send-authorization-response";
|
9
9
|
import * as Errors from "./errors";
|
10
|
-
export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, Errors };
|
10
|
+
export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, sendAuthorizationErrorResponse, Errors };
|
11
11
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","fetchJwksFromRequestObject","fetchJwksFromConfig","verifyRequestObjectSignature","fetchPresentDefinition","evaluateInputDescriptorForSdJwt4VC","sendAuthorizationResponse","Errors"],"sourceRoot":"../../../../src","sources":["credential/presentation/index.ts"],"mappings":"AAAA,SAASA,eAAe,QAAwB,iBAAiB;AACjE,SACEC,yBAAyB,QAEpB,wBAAwB;AAC/B,SACEC,gBAAgB,QAEX,yBAAyB;AAChC,SACEC,0BAA0B,EAC1BC,mBAAmB,QAEd,uBAAuB;AAC9B,SACEC,4BAA4B,QAEvB,4BAA4B;AACnC,SACEC,sBAAsB,QAEjB,oCAAoC;AAC3C,SACEC,kCAAkC,QAE7B,gCAAgC;AACvC,SACEC,yBAAyB,
|
1
|
+
{"version":3,"names":["startFlowFromQR","evaluateRelyingPartyTrust","getRequestObject","fetchJwksFromRequestObject","fetchJwksFromConfig","verifyRequestObjectSignature","fetchPresentDefinition","evaluateInputDescriptorForSdJwt4VC","sendAuthorizationResponse","sendAuthorizationErrorResponse","Errors"],"sourceRoot":"../../../../src","sources":["credential/presentation/index.ts"],"mappings":"AAAA,SAASA,eAAe,QAAwB,iBAAiB;AACjE,SACEC,yBAAyB,QAEpB,wBAAwB;AAC/B,SACEC,gBAAgB,QAEX,yBAAyB;AAChC,SACEC,0BAA0B,EAC1BC,mBAAmB,QAEd,uBAAuB;AAC9B,SACEC,4BAA4B,QAEvB,4BAA4B;AACnC,SACEC,sBAAsB,QAEjB,oCAAoC;AAC3C,SACEC,kCAAkC,QAE7B,gCAAgC;AACvC,SACEC,yBAAyB,EAEzBC,8BAA8B,QAEzB,kCAAkC;AACzC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAElC,SACEV,eAAe,EACfC,yBAAyB,EACzBC,gBAAgB,EAChBC,0BAA0B,EAC1BC,mBAAmB,EACnBC,4BAA4B,EAC5BC,sBAAsB,EACtBC,kCAAkC,EAClCC,yBAAyB,EACzBC,8BAA8B,EAC9BC,MAAM"}
|
@@ -92,4 +92,22 @@ export const RequestObject = z.object({
|
|
92
92
|
scope: z.string().optional(),
|
93
93
|
presentation_definition: PresentationDefinition.optional()
|
94
94
|
});
|
95
|
+
|
96
|
+
/**
|
97
|
+
* This type models the possible error responses the OpenID4VP protocol allows for a presentation of a credential.
|
98
|
+
* See https://openid.github.io/OpenID4VP/openid-4-verifiable-presentations-wg-draft.html#name-error-response for more information.
|
99
|
+
*/
|
100
|
+
|
101
|
+
export const ErrorResponse = z.enum(["invalid_scope", "invalid_request", "invalid_client", "access_denied"]);
|
102
|
+
|
103
|
+
/**
|
104
|
+
* Type that defines the possible payload formats accepted by {@link buildDirectPostJwtBody} and {@link buildDirectPostBody}
|
105
|
+
*/
|
106
|
+
|
107
|
+
export const DirectAuthorizationBodyPayload = z.union([z.object({
|
108
|
+
vp_token: z.string(),
|
109
|
+
presentation_submission: z.record(z.string(), z.unknown())
|
110
|
+
}), z.object({
|
111
|
+
error: ErrorResponse
|
112
|
+
})]);
|
95
113
|
//# sourceMappingURL=types.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["UnixTime","z","JWKS","Fields","object","path","array","string","min","id","optional","purpose","name","filter","any","boolean","intent_to_retain","Constraints","fields","limit_disclosure","enum","InputDescriptor","format","record","constraints","group","SubmissionRequirement","rule","from","from_nested","count","number","PresentationDefinition","input_descriptors","submission_requirements","RequestObject","iss","iat","exp","state","nonce","response_uri","response_type","literal","response_mode","client_id","client_id_scheme","client_metadata","authorization_encrypted_response_alg","authorization_encrypted_response_enc","jwks_uri","jwks","scope","presentation_definition"],"sourceRoot":"../../../../src","sources":["credential/presentation/types.ts"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["UnixTime","z","JWKS","Fields","object","path","array","string","min","id","optional","purpose","name","filter","any","boolean","intent_to_retain","Constraints","fields","limit_disclosure","enum","InputDescriptor","format","record","constraints","group","SubmissionRequirement","rule","from","from_nested","count","number","PresentationDefinition","input_descriptors","submission_requirements","RequestObject","iss","iat","exp","state","nonce","response_uri","response_type","literal","response_mode","client_id","client_id_scheme","client_metadata","authorization_encrypted_response_alg","authorization_encrypted_response_enc","jwks_uri","jwks","scope","presentation_definition","ErrorResponse","DirectAuthorizationBodyPayload","union","vp_token","presentation_submission","unknown","error"],"sourceRoot":"../../../../src","sources":["credential/presentation/types.ts"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"06-obtain-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/06-obtain-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAQ5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI7C,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,EAChD,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,oBAAoB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,CAAC,EACzE,OAAO,EAAE;IACP,iBAAiB,EAAE,aAAa,CAAC;IACjC,uBAAuB,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,eAAO,MAAM,gBAAgB,UACpB,MAAM,UACL,MAAM,YACJ,MAAM,OACX,aAAa,KACjB,QAAQ,MAAM,CAehB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,
|
1
|
+
{"version":3,"file":"06-obtain-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/06-obtain-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAQ5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI7C,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,EAC9C,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,EAChD,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,EACjD,oBAAoB,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,CAAC,EACzE,OAAO,EAAE;IACP,iBAAiB,EAAE,aAAa,CAAC;IACjC,uBAAuB,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,eAAO,MAAM,gBAAgB,UACpB,MAAM,UACL,MAAM,YACJ,MAAM,OACX,aAAa,KACjB,QAAQ,MAAM,CAehB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAsG9B,CAAC"}
|
@@ -2,7 +2,7 @@ import * as z from "zod";
|
|
2
2
|
export type TokenResponse = z.infer<typeof TokenResponse>;
|
3
3
|
export declare const TokenResponse: z.ZodObject<{
|
4
4
|
access_token: z.ZodString;
|
5
|
-
authorization_details: z.ZodObject<{
|
5
|
+
authorization_details: z.ZodArray<z.ZodObject<{
|
6
6
|
credential_configuration_id: z.ZodString;
|
7
7
|
type: z.ZodLiteral<"openid_credential">;
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
@@ -11,7 +11,7 @@ export declare const TokenResponse: z.ZodObject<{
|
|
11
11
|
}, {
|
12
12
|
type: "openid_credential";
|
13
13
|
credential_configuration_id: string;
|
14
|
-
}>;
|
14
|
+
}>, "many">;
|
15
15
|
c_nonce: z.ZodString;
|
16
16
|
c_nonce_expires_in: z.ZodNumber;
|
17
17
|
expires_in: z.ZodNumber;
|
@@ -20,7 +20,7 @@ export declare const TokenResponse: z.ZodObject<{
|
|
20
20
|
authorization_details: {
|
21
21
|
type: "openid_credential";
|
22
22
|
credential_configuration_id: string;
|
23
|
-
};
|
23
|
+
}[];
|
24
24
|
access_token: string;
|
25
25
|
c_nonce: string;
|
26
26
|
c_nonce_expires_in: number;
|
@@ -30,7 +30,7 @@ export declare const TokenResponse: z.ZodObject<{
|
|
30
30
|
authorization_details: {
|
31
31
|
type: "openid_credential";
|
32
32
|
credential_configuration_id: string;
|
33
|
-
};
|
33
|
+
}[];
|
34
34
|
access_token: string;
|
35
35
|
c_nonce: string;
|
36
36
|
c_nonce_expires_in: number;
|
@@ -1,10 +1,7 @@
|
|
1
|
-
import { type CryptoContext } from "@pagopa/io-react-native-jwt";
|
2
1
|
import { type Out } from "../../utils/misc";
|
3
2
|
import type { StartFlow } from "./01-start-flow";
|
4
3
|
export type GetRequestObject = (requestUri: Out<StartFlow>["requestUri"], context: {
|
5
|
-
wiaCryptoContext: CryptoContext;
|
6
4
|
appFetch?: GlobalFetch["fetch"];
|
7
|
-
walletInstanceAttestation: string;
|
8
5
|
}) => Promise<{
|
9
6
|
requestObjectEncodedJwt: string;
|
10
7
|
}>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"03-get-request-object.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/03-get-request-object.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"03-get-request-object.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/03-get-request-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EACxC,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC;IAAE,uBAAuB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAa9B,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"07-evaluate-input-descriptor.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/07-evaluate-input-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAC5C,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,EACtC,WAAW,EAAE,qBAAqB,EAAE,KACjC,oBAAoB,CAAC;AA4E1B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kCAAkC,EAAE,+
|
1
|
+
{"version":3,"file":"07-evaluate-input-descriptor.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/07-evaluate-input-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO1E,MAAM,MAAM,oBAAoB,GAAG;IACjC,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,mBAAmB,EAAE,qBAAqB,EAAE,CAAC;IAC7C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAC5C,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,EACtC,WAAW,EAAE,qBAAqB,EAAE,KACjC,oBAAoB,CAAC;AA4E1B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kCAAkC,EAAE,+BAsG9C,CAAC"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { FetchJwks } from "./04-retrieve-rp-jwks";
|
2
2
|
import type { VerifyRequestObjectSignature } from "./05-verify-request-object";
|
3
3
|
import { type Out } from "../../utils/misc";
|
4
|
-
import { PresentationDefinition, type Presentation } from "./types";
|
4
|
+
import { DirectAuthorizationBodyPayload, ErrorResponse, PresentationDefinition, type Presentation } from "./types";
|
5
5
|
import * as z from "zod";
|
6
6
|
import type { JWK } from "../../utils/jwk";
|
7
7
|
export type AuthorizationResponse = z.infer<typeof AuthorizationResponse>;
|
@@ -60,22 +60,20 @@ export declare const prepareVpToken: (requestObject: Out<VerifyRequestObjectSign
|
|
60
60
|
* Builds a URL-encoded form body for a direct POST response without encryption.
|
61
61
|
*
|
62
62
|
* @param requestObject - Contains state, nonce, and other relevant info.
|
63
|
-
* @param
|
64
|
-
* @param presentationSubmission - Object mapping credential disclosures.
|
63
|
+
* @param payload - Object that contains either the VP token to encrypt and the stringified mapping of the credential disclosures or the error code
|
65
64
|
* @returns A URL-encoded string suitable for an `application/x-www-form-urlencoded` POST body.
|
66
65
|
*/
|
67
|
-
export declare const buildDirectPostBody: (requestObject: Out<VerifyRequestObjectSignature>["requestObject"],
|
66
|
+
export declare const buildDirectPostBody: (requestObject: Out<VerifyRequestObjectSignature>["requestObject"], payload: DirectAuthorizationBodyPayload) => Promise<string>;
|
68
67
|
/**
|
69
68
|
* Builds a URL-encoded form body for a direct POST response using JWT encryption.
|
70
69
|
*
|
71
70
|
* @param jwkKeys - Array of JWKs from the Relying Party for encryption.
|
72
71
|
* @param requestObject - Contains state, nonce, and other relevant info.
|
73
|
-
* @param
|
74
|
-
* @param presentationSubmission - Object mapping credential disclosures.
|
72
|
+
* @param payload - Object that contains either the VP token to encrypt and the mapping of the credential disclosures or the error code
|
75
73
|
* @returns A URL-encoded string for an `application/x-www-form-urlencoded` POST body,
|
76
74
|
* where `response` contains the encrypted JWE.
|
77
75
|
*/
|
78
|
-
export declare const buildDirectPostJwtBody: (jwkKeys: Out<FetchJwks>["keys"], requestObject: Out<VerifyRequestObjectSignature>["requestObject"],
|
76
|
+
export declare const buildDirectPostJwtBody: (jwkKeys: Out<FetchJwks>["keys"], requestObject: Out<VerifyRequestObjectSignature>["requestObject"], payload: DirectAuthorizationBodyPayload) => Promise<string>;
|
79
77
|
/**
|
80
78
|
* Type definition for the function that sends the authorization response
|
81
79
|
* to the Relying Party, completing the presentation flow.
|
@@ -96,4 +94,22 @@ context?: {
|
|
96
94
|
* @returns Parsed and validated authorization response from the Relying Party.
|
97
95
|
*/
|
98
96
|
export declare const sendAuthorizationResponse: SendAuthorizationResponse;
|
97
|
+
/**
|
98
|
+
* Type definition for the function that sends the authorization response
|
99
|
+
* to the Relying Party, completing the presentation flow.
|
100
|
+
*/
|
101
|
+
export type SendAuthorizationErrorResponse = (requestObject: Out<VerifyRequestObjectSignature>["requestObject"], error: ErrorResponse, jwkKeys: Out<FetchJwks>["keys"], context?: {
|
102
|
+
appFetch?: GlobalFetch["fetch"];
|
103
|
+
}) => Promise<AuthorizationResponse>;
|
104
|
+
/**
|
105
|
+
* Sends the authorization error response to the Relying Party (RP) using the specified `response_mode`.
|
106
|
+
* This function completes the presentation flow in an OpenID 4 Verifiable Presentations scenario.
|
107
|
+
*
|
108
|
+
* @param requestObject - The request details, including presentation requirements.
|
109
|
+
* @param error - The response error value
|
110
|
+
* @param jwkKeys - Array of JWKs from the Relying Party for optional encryption.
|
111
|
+
* @param context - Contains optional custom fetch implementation.
|
112
|
+
* @returns Parsed and validated authorization response from the Relying Party.
|
113
|
+
*/
|
114
|
+
export declare const sendAuthorizationErrorResponse: SendAuthorizationErrorResponse;
|
99
115
|
//# sourceMappingURL=08-send-authorization-response.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"08-send-authorization-response.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/08-send-authorization-response.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,
|
1
|
+
{"version":3,"file":"08-send-authorization-response.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/08-send-authorization-response.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,sBAAsB,EACtB,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAUhC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,cACxB,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,KAChC,GAWF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,cAAc,kBACV,IAAI,4BAA4B,CAAC,CAAC,eAAe,CAAC,0BACzC,sBAAsB;cAGpC,MAAM;6BACS,OAAO,MAAM,EAAE,OAAO,CAAC;EAuCjD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,kBACf,IAAI,4BAA4B,CAAC,CAAC,eAAe,CAAC,WACxD,8BAA8B,KACtC,QAAQ,MAAM,CAWhB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,YACxB,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC,iBAChB,IAAI,4BAA4B,CAAC,CAAC,eAAe,CAAC,WACxD,8BAA8B,KACtC,QAAQ,MAAM,CA8BhB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,aAAa,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC,eAAe,CAAC,EACjE,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC/B,YAAY,EAAE,YAAY,EAAE,iDAAiD;AAC7E,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,EAAE,yBAqCvC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,aAAa,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAC,eAAe,CAAC,EACjE,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,EAAE,8BAuB1C,CAAC"}
|
@@ -5,8 +5,8 @@ import { fetchJwksFromRequestObject, fetchJwksFromConfig, type FetchJwks } from
|
|
5
5
|
import { verifyRequestObjectSignature, type VerifyRequestObjectSignature } from "./05-verify-request-object";
|
6
6
|
import { fetchPresentDefinition, type FetchPresentationDefinition } from "./06-fetch-presentation-definition";
|
7
7
|
import { evaluateInputDescriptorForSdJwt4VC, type EvaluateInputDescriptorSdJwt4VC } from "./07-evaluate-input-descriptor";
|
8
|
-
import { sendAuthorizationResponse, type SendAuthorizationResponse } from "./08-send-authorization-response";
|
8
|
+
import { sendAuthorizationResponse, type SendAuthorizationResponse, sendAuthorizationErrorResponse, type SendAuthorizationErrorResponse } from "./08-send-authorization-response";
|
9
9
|
import * as Errors from "./errors";
|
10
|
-
export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, Errors, };
|
11
|
-
export type { StartFlow, EvaluateRelyingPartyTrust, GetRequestObject, FetchJwks, VerifyRequestObjectSignature, FetchPresentationDefinition, EvaluateInputDescriptorSdJwt4VC, SendAuthorizationResponse, };
|
10
|
+
export { startFlowFromQR, evaluateRelyingPartyTrust, getRequestObject, fetchJwksFromRequestObject, fetchJwksFromConfig, verifyRequestObjectSignature, fetchPresentDefinition, evaluateInputDescriptorForSdJwt4VC, sendAuthorizationResponse, sendAuthorizationErrorResponse, Errors, };
|
11
|
+
export type { StartFlow, EvaluateRelyingPartyTrust, GetRequestObject, FetchJwks, VerifyRequestObjectSignature, FetchPresentationDefinition, EvaluateInputDescriptorSdJwt4VC, SendAuthorizationResponse, SendAuthorizationErrorResponse, };
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,EACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,EACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,kCAAkC,EAClC,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,8BAA8B,EAC9B,KAAK,8BAA8B,EACpC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EAClC,yBAAyB,EACzB,8BAA8B,EAC9B,MAAM,GACP,CAAC;AACF,YAAY,EACV,SAAS,EACT,yBAAyB,EACzB,gBAAgB,EAChB,SAAS,EACT,4BAA4B,EAC5B,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,8BAA8B,GAC/B,CAAC"}
|
@@ -898,4 +898,30 @@ export declare const RequestObject: z.ZodObject<{
|
|
898
898
|
}[] | undefined;
|
899
899
|
} | undefined;
|
900
900
|
}>;
|
901
|
+
/**
|
902
|
+
* This type models the possible error responses the OpenID4VP protocol allows for a presentation of a credential.
|
903
|
+
* See https://openid.github.io/OpenID4VP/openid-4-verifiable-presentations-wg-draft.html#name-error-response for more information.
|
904
|
+
*/
|
905
|
+
export type ErrorResponse = z.infer<typeof ErrorResponse>;
|
906
|
+
export declare const ErrorResponse: z.ZodEnum<["invalid_scope", "invalid_request", "invalid_client", "access_denied"]>;
|
907
|
+
/**
|
908
|
+
* Type that defines the possible payload formats accepted by {@link buildDirectPostJwtBody} and {@link buildDirectPostBody}
|
909
|
+
*/
|
910
|
+
export type DirectAuthorizationBodyPayload = z.infer<typeof DirectAuthorizationBodyPayload>;
|
911
|
+
export declare const DirectAuthorizationBodyPayload: z.ZodUnion<[z.ZodObject<{
|
912
|
+
vp_token: z.ZodString;
|
913
|
+
presentation_submission: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
914
|
+
}, "strip", z.ZodTypeAny, {
|
915
|
+
vp_token: string;
|
916
|
+
presentation_submission: Record<string, unknown>;
|
917
|
+
}, {
|
918
|
+
vp_token: string;
|
919
|
+
presentation_submission: Record<string, unknown>;
|
920
|
+
}>, z.ZodObject<{
|
921
|
+
error: z.ZodEnum<["invalid_scope", "invalid_request", "invalid_client", "access_denied"]>;
|
922
|
+
}, "strip", z.ZodTypeAny, {
|
923
|
+
error: "invalid_scope" | "invalid_request" | "invalid_client" | "access_denied";
|
924
|
+
}, {
|
925
|
+
error: "invalid_scope" | "invalid_request" | "invalid_client" | "access_denied";
|
926
|
+
}>]>;
|
901
927
|
//# sourceMappingURL=types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACO,MAAM;IACzB,MAAM,EAAE;IACsC,aAAa;CACzE,CAAC;AAmBF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAqBH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxB,CAAC"}
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/credential/presentation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACO,MAAM;IACzB,MAAM,EAAE;IACsC,aAAa;CACzE,CAAC;AAmBF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAqBH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBxB,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC1D,eAAO,MAAM,aAAa,oFAKxB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAC;AACF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;IAMzC,CAAC"}
|
package/package.json
CHANGED
@@ -95,10 +95,12 @@ export const obtainCredential: ObtainCredential = async (
|
|
95
95
|
credentialCryptoContext
|
96
96
|
);
|
97
97
|
|
98
|
-
const containsCredentialDefinition =
|
99
|
-
|
100
|
-
|
101
|
-
|
98
|
+
const containsCredentialDefinition = accessToken.authorization_details.some(
|
99
|
+
(detail) =>
|
100
|
+
detail.credential_configuration_id ===
|
101
|
+
credentialDefinition.credential_configuration_id &&
|
102
|
+
detail.type === credentialDefinition.type
|
103
|
+
);
|
102
104
|
|
103
105
|
if (!containsCredentialDefinition) {
|
104
106
|
throw new ValidationFailed({
|
@@ -6,7 +6,7 @@ export type TokenResponse = z.infer<typeof TokenResponse>;
|
|
6
6
|
|
7
7
|
export const TokenResponse = z.object({
|
8
8
|
access_token: z.string(),
|
9
|
-
authorization_details: AuthorizationDetail,
|
9
|
+
authorization_details: z.array(AuthorizationDetail),
|
10
10
|
c_nonce: z.string(),
|
11
11
|
c_nonce_expires_in: z.number(),
|
12
12
|
expires_in: z.number(),
|
@@ -1,19 +1,10 @@
|
|
1
|
-
import uuid from "react-native-uuid";
|
2
|
-
import {
|
3
|
-
sha256ToBase64,
|
4
|
-
type CryptoContext,
|
5
|
-
} from "@pagopa/io-react-native-jwt";
|
6
|
-
|
7
|
-
import { createDPopToken } from "../../utils/dpop";
|
8
1
|
import { hasStatusOrThrow, type Out } from "../../utils/misc";
|
9
2
|
import type { StartFlow } from "./01-start-flow";
|
10
3
|
|
11
4
|
export type GetRequestObject = (
|
12
5
|
requestUri: Out<StartFlow>["requestUri"],
|
13
6
|
context: {
|
14
|
-
wiaCryptoContext: CryptoContext;
|
15
7
|
appFetch?: GlobalFetch["fetch"];
|
16
|
-
walletInstanceAttestation: string;
|
17
8
|
}
|
18
9
|
) => Promise<{ requestObjectEncodedJwt: string }>;
|
19
10
|
|
@@ -30,24 +21,10 @@ export type GetRequestObject = (
|
|
30
21
|
*/
|
31
22
|
export const getRequestObject: GetRequestObject = async (
|
32
23
|
requestUri,
|
33
|
-
{
|
24
|
+
{ appFetch = fetch }
|
34
25
|
) => {
|
35
|
-
const signedWalletInstanceDPoP = await createDPopToken(
|
36
|
-
{
|
37
|
-
jti: `${uuid.v4()}`,
|
38
|
-
htm: "GET",
|
39
|
-
htu: requestUri,
|
40
|
-
ath: await sha256ToBase64(walletInstanceAttestation),
|
41
|
-
},
|
42
|
-
wiaCryptoContext
|
43
|
-
);
|
44
|
-
|
45
26
|
const requestObjectEncodedJwt = await appFetch(requestUri, {
|
46
27
|
method: "GET",
|
47
|
-
headers: {
|
48
|
-
Authorization: `DPoP ${walletInstanceAttestation}`,
|
49
|
-
DPoP: signedWalletInstanceDPoP,
|
50
|
-
},
|
51
28
|
})
|
52
29
|
.then(hasStatusOrThrow(200))
|
53
30
|
.then((res) => res.text());
|
@@ -189,11 +189,8 @@ export const evaluateInputDescriptorForSdJwt4VC: EvaluateInputDescriptorSdJwt4VC
|
|
189
189
|
requiredClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME])
|
190
190
|
);
|
191
191
|
|
192
|
-
const optionalDisclosures = disclosures.filter(
|
193
|
-
(disclosure)
|
194
|
-
optionalClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME]) ||
|
195
|
-
(isNotLimitDisclosure &&
|
196
|
-
!requiredClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME]))
|
192
|
+
const optionalDisclosures = disclosures.filter((disclosure) =>
|
193
|
+
optionalClaimNames.includes(disclosure.decoded[INDEX_CLAIM_NAME])
|
197
194
|
);
|
198
195
|
|
199
196
|
const isNotLimitDisclosure = !(
|