@pagopa/io-react-native-wallet 0.2.8 → 0.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/rp/__test__/index.test.js +145 -0
- package/lib/commonjs/rp/__test__/index.test.js.map +1 -1
- package/lib/commonjs/rp/index.js +33 -41
- package/lib/commonjs/rp/index.js.map +1 -1
- package/lib/commonjs/rp/types.js +11 -9
- package/lib/commonjs/rp/types.js.map +1 -1
- package/lib/commonjs/utils/jwk.js +35 -0
- package/lib/commonjs/utils/jwk.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/issuing.js +1 -1
- package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/types.js +6 -2
- package/lib/commonjs/wallet-instance-attestation/types.js.map +1 -1
- package/lib/module/rp/__test__/index.test.js +145 -0
- package/lib/module/rp/__test__/index.test.js.map +1 -1
- package/lib/module/rp/index.js +33 -41
- package/lib/module/rp/index.js.map +1 -1
- package/lib/module/rp/types.js +11 -9
- package/lib/module/rp/types.js.map +1 -1
- package/lib/module/utils/jwk.js +34 -0
- package/lib/module/utils/jwk.js.map +1 -1
- package/lib/module/wallet-instance-attestation/issuing.js +2 -2
- package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/module/wallet-instance-attestation/types.js +6 -2
- package/lib/module/wallet-instance-attestation/types.js.map +1 -1
- package/lib/typescript/rp/index.d.ts +8 -8
- package/lib/typescript/rp/index.d.ts.map +1 -1
- package/lib/typescript/rp/types.d.ts +260 -389
- package/lib/typescript/rp/types.d.ts.map +1 -1
- package/lib/typescript/utils/jwk.d.ts +9 -0
- package/lib/typescript/utils/jwk.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/types.d.ts +40 -4
- package/lib/typescript/wallet-instance-attestation/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/rp/__test__/index.test.ts +222 -0
- package/src/rp/index.ts +44 -54
- package/src/rp/types.ts +8 -7
- package/src/utils/jwk.ts +21 -0
- package/src/wallet-instance-attestation/issuing.ts +3 -2
- package/src/wallet-instance-attestation/types.ts +6 -2
@@ -1,5 +1,4 @@
|
|
1
1
|
import { QRCodePayload, RequestObject, RpEntityConfiguration, type Presentation } from "./types";
|
2
|
-
import type { JWK } from "@pagopa/io-react-native-jwt/lib/typescript/types";
|
3
2
|
export declare class RelyingPartySolution {
|
4
3
|
relyingPartyBaseUrl: string;
|
5
4
|
walletInstanceAttestation: string;
|
@@ -24,7 +23,7 @@ export declare class RelyingPartySolution {
|
|
24
23
|
* @returns The unsigned wallet instance DPoP
|
25
24
|
*
|
26
25
|
*/
|
27
|
-
getUnsignedWalletInstanceDPoP(walletInstanceAttestationJwk:
|
26
|
+
getUnsignedWalletInstanceDPoP(walletInstanceAttestationJwk: any, authRequestUrl: string): Promise<string>;
|
28
27
|
/**
|
29
28
|
* Obtain the Request Object for RP authentication
|
30
29
|
* @see https://italia.github.io/eudi-wallet-it-docs/versione-corrente/en/relying-party-solution.html
|
@@ -36,7 +35,7 @@ export declare class RelyingPartySolution {
|
|
36
35
|
* @throws {NoSuitableKeysFoundInEntityConfiguration} When the Request Object is signed with a key not listed in RP's entity configuration
|
37
36
|
*
|
38
37
|
*/
|
39
|
-
getRequestObject(signedWalletInstanceDPoP: string, entity: RpEntityConfiguration): Promise<RequestObject>;
|
38
|
+
getRequestObject(signedWalletInstanceDPoP: string, requestUri: string, entity: RpEntityConfiguration): Promise<RequestObject>;
|
40
39
|
/**
|
41
40
|
* Prepare the Verified Presentation token for a received request object in the context of an authorization request flow.
|
42
41
|
* The presentation is prepared by disclosing data from provided credentials, according to requested claims
|
@@ -47,12 +46,15 @@ export declare class RelyingPartySolution {
|
|
47
46
|
* @todo accept more than a Verified Credential
|
48
47
|
*
|
49
48
|
* @param requestObj The incoming request object, which the requirements for the requested authorization
|
49
|
+
* @param walletInstanceIdentifier The identifies of the wallt instance that is presenting
|
50
50
|
* @param presentation The Verified Credential containing user data along with the list of claims to be disclosed.
|
51
|
+
* @param signKeyId The kid of the key that will be used to sign
|
51
52
|
* @returns The unsigned Verified Presentation token
|
52
53
|
* @throws {ClaimsNotFoundBetweenDislosures} If the Verified Credential does not contain one or more requested claims.
|
53
54
|
*
|
54
55
|
*/
|
55
|
-
prepareVpToken(requestObj: RequestObject, [vc, claims]: Presentation
|
56
|
+
prepareVpToken(requestObj: RequestObject, walletInstanceIdentifier: string, [vc, claims]: Presentation, // TODO: [SIW-353] support multiple presentations,
|
57
|
+
signKeyId: string): Promise<{
|
56
58
|
vp_token: string;
|
57
59
|
presentation_submission: Record<string, unknown>;
|
58
60
|
}>;
|
@@ -72,15 +74,13 @@ export declare class RelyingPartySolution {
|
|
72
74
|
*/
|
73
75
|
sendAuthorizationResponse(requestObj: RequestObject, vp_token: string, presentation_submission: Record<string, unknown>, entity: RpEntityConfiguration): Promise<string>;
|
74
76
|
/**
|
75
|
-
* Select a public key from those provided by the RP.
|
76
|
-
* Keys with algorithm "RSA-OAEP-256" or "RSA-OAEP" are expected, the firsts to be preferred.
|
77
|
+
* Select a RSA public key from those provided by the RP to encrypt.
|
77
78
|
*
|
78
79
|
* @param entity The RP entity configuration
|
79
80
|
* @returns A suitable public key with its compatible encryption algorithm
|
80
81
|
* @throws {NoSuitableKeysFoundInEntityConfiguration} If entity do not contain any public key suitable for encrypting
|
81
82
|
*/
|
82
|
-
private
|
83
|
-
private getEncryptionAlgByJwk;
|
83
|
+
private chooseRSAPublicKeyToEncrypt;
|
84
84
|
/**
|
85
85
|
* Obtain the relying party entity configuration.
|
86
86
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rp/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rp/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAMjB,qBAAa,oBAAoB;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBAG7B,mBAAmB,EAAE,MAAM,EAC3B,yBAAyB,EAAE,MAAM,EACjC,QAAQ,GAAE,WAAW,CAAC,OAAO,CAAS;IAOxC;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAqBzD;;;;;;;;;OASG;IACG,6BAA6B,CACjC,4BAA4B,EAAE,GAAG,EACjC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAiBlB;;;;;;;;;;OAUG;IACG,gBAAgB,CACpB,wBAAwB,EAAE,MAAM,EAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,aAAa,CAAC;IA2CzB;;;;;;;;;;;;;;;;OAgBG;IACG,cAAc,CAClB,UAAU,EAAE,aAAa,EACzB,wBAAwB,EAAE,MAAM,EAChC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,kDAAkD;IAC9E,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClD,CAAC;IAoCF;;;;;;;;;;;;;OAaG;IACG,yBAAyB,CAC7B,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChD,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAwClB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,qBAAqB,CAAC;CAqB/D"}
|