@pagopa/io-react-native-wallet 1.7.0 → 1.8.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/lib/commonjs/client/generated/wallet-provider.js +37 -11
- package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
- package/lib/commonjs/credential/issuance/02-get-issuer-config.js +83 -3
- package/lib/commonjs/credential/issuance/02-get-issuer-config.js.map +1 -1
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js +5 -7
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/06-obtain-credential.js +27 -10
- package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +50 -46
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/README.md +1 -1
- package/lib/commonjs/credential/issuance/const.js +1 -1
- package/lib/commonjs/credential/issuance/const.js.map +1 -1
- package/lib/commonjs/credential/issuance/index.js +6 -0
- package/lib/commonjs/credential/issuance/index.js.map +1 -1
- package/lib/commonjs/credential/issuance/types.js +19 -10
- package/lib/commonjs/credential/issuance/types.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +10 -3
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +11 -4
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js +3 -3
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/types.js.map +1 -1
- package/lib/commonjs/entity/openid-connect/issuer/types.js +2 -2
- package/lib/commonjs/entity/openid-connect/issuer/types.js.map +1 -1
- package/lib/commonjs/entity/trust/types.js +19 -30
- package/lib/commonjs/entity/trust/types.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mdoc/index.js +4 -4
- package/lib/commonjs/mdoc/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/index.js +2 -2
- package/lib/commonjs/sd-jwt/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/types.js +1 -1
- package/lib/commonjs/sd-jwt/types.js.map +1 -1
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +3 -2
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -1
- package/lib/commonjs/utils/pop.js +1 -1
- package/lib/commonjs/utils/pop.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/issuing.js +11 -7
- package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/types.js +14 -19
- package/lib/commonjs/wallet-instance-attestation/types.js.map +1 -1
- package/lib/module/client/generated/wallet-provider.js +29 -7
- package/lib/module/client/generated/wallet-provider.js.map +1 -1
- package/lib/module/credential/issuance/02-get-issuer-config.js +80 -1
- package/lib/module/credential/issuance/02-get-issuer-config.js.map +1 -1
- package/lib/module/credential/issuance/03-start-user-authorization.js +5 -7
- package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/06-obtain-credential.js +28 -11
- package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +50 -46
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/module/credential/issuance/README.md +1 -1
- package/lib/module/credential/issuance/const.js +1 -1
- package/lib/module/credential/issuance/const.js.map +1 -1
- package/lib/module/credential/issuance/index.js +2 -2
- package/lib/module/credential/issuance/index.js.map +1 -1
- package/lib/module/credential/issuance/types.js +15 -8
- package/lib/module/credential/issuance/types.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js +10 -3
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +11 -4
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/module/credential/presentation/08-send-authorization-response.js +3 -3
- package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/types.js.map +1 -1
- package/lib/module/entity/openid-connect/issuer/types.js +2 -2
- package/lib/module/entity/openid-connect/issuer/types.js.map +1 -1
- package/lib/module/entity/trust/types.js +19 -30
- package/lib/module/entity/trust/types.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/mdoc/index.js +4 -4
- package/lib/module/mdoc/index.js.map +1 -1
- package/lib/module/sd-jwt/index.js +2 -2
- package/lib/module/sd-jwt/index.js.map +1 -1
- package/lib/module/sd-jwt/types.js +1 -1
- package/lib/module/sd-jwt/types.js.map +1 -1
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +3 -2
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -1
- package/lib/module/utils/pop.js +1 -1
- package/lib/module/utils/pop.js.map +1 -1
- package/lib/module/wallet-instance-attestation/issuing.js +13 -9
- package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/module/wallet-instance-attestation/types.js +12 -17
- package/lib/module/wallet-instance-attestation/types.js.map +1 -1
- package/lib/typescript/client/generated/wallet-provider.d.ts +146 -17
- package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts +15 -0
- package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +7 -2
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/const.d.ts +1 -1
- package/lib/typescript/credential/issuance/const.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/index.d.ts +2 -2
- package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/types.d.ts +52 -21
- package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.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 +1 -1
- package/lib/typescript/credential/presentation/types.d.ts +4 -2
- package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
- package/lib/typescript/entity/openid-connect/issuer/types.d.ts +17 -17
- package/lib/typescript/entity/openid-connect/issuer/types.d.ts.map +1 -1
- package/lib/typescript/entity/trust/index.d.ts +150 -140
- package/lib/typescript/entity/trust/index.d.ts.map +1 -1
- package/lib/typescript/entity/trust/types.d.ts +540 -344
- package/lib/typescript/entity/trust/types.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/pid/sd-jwt/types.d.ts +2 -2
- package/lib/typescript/sd-jwt/index.d.ts +12 -12
- package/lib/typescript/sd-jwt/types.d.ts +14 -14
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.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 +50 -102
- package/lib/typescript/wallet-instance-attestation/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/client/generated/wallet-provider.ts +39 -7
- package/src/credential/issuance/02-get-issuer-config.ts +117 -0
- package/src/credential/issuance/03-start-user-authorization.ts +7 -8
- package/src/credential/issuance/06-obtain-credential.ts +41 -14
- package/src/credential/issuance/07-verify-and-parse-credential.ts +7 -3
- package/src/credential/issuance/README.md +1 -1
- package/src/credential/issuance/const.ts +1 -0
- package/src/credential/issuance/index.ts +6 -1
- package/src/credential/issuance/types.ts +21 -8
- package/src/credential/presentation/07-evaluate-dcql-query.ts +15 -5
- package/src/credential/presentation/07-evaluate-input-descriptor.ts +21 -4
- package/src/credential/presentation/08-send-authorization-response.ts +3 -3
- package/src/credential/presentation/types.ts +3 -0
- package/src/entity/openid-connect/issuer/types.ts +2 -1
- package/src/entity/trust/types.ts +22 -20
- package/src/index.ts +2 -0
- package/src/mdoc/index.ts +4 -4
- package/src/sd-jwt/index.ts +2 -2
- package/src/sd-jwt/types.ts +1 -1
- package/src/utils/credential/issuance/07-verify-and-parse-credentials-utils.ts +3 -2
- package/src/utils/pop.ts +1 -1
- package/src/wallet-instance-attestation/issuing.ts +14 -8
- package/src/wallet-instance-attestation/types.ts +16 -22
@@ -3,11 +3,16 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.WalletInstanceData = exports.WalletAttestationView = exports.SetWalletInstanceStatusBody = exports.RevocationReason = exports.ProblemDetail = exports.NonceDetailView = exports.EndpointByMethod = exports.CreateWalletInstanceBody = exports.CreateWalletAttestationBody = exports.ApiClient = void 0;
|
6
|
+
exports.WalletInstanceData = exports.WalletAttestationsView = exports.WalletAttestationView = exports.SetWalletInstanceStatusBody = exports.RevocationReason = exports.ProblemDetail = exports.NonceDetailView = exports.EndpointByMethod = exports.CreateWalletInstanceBody = exports.CreateWalletAttestationV2Body = exports.CreateWalletAttestationBody = exports.ApplicationInfo = exports.ApiClient = void 0;
|
7
7
|
exports.createApiClient = createApiClient;
|
8
|
-
exports.put_SetWalletInstanceStatus = exports.post_CreateWalletInstance = exports.post_CreateWalletAttestation = exports.get_GetWalletInstanceStatus = exports.get_GetNonce = void 0;
|
8
|
+
exports.put_SetWalletInstanceStatus = exports.post_CreateWalletInstance = exports.post_CreateWalletAttestationV2 = exports.post_CreateWalletAttestation = exports.get_GetWalletInstanceStatus = exports.get_GetNonce = void 0;
|
9
9
|
var _zod = _interopRequireDefault(require("zod"));
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
|
+
const ApplicationInfo = _zod.default.object({
|
12
|
+
name: _zod.default.string(),
|
13
|
+
version: _zod.default.string()
|
14
|
+
});
|
15
|
+
exports.ApplicationInfo = ApplicationInfo;
|
11
16
|
const NonceDetailView = _zod.default.object({
|
12
17
|
nonce: _zod.default.string()
|
13
18
|
});
|
@@ -16,6 +21,13 @@ const WalletAttestationView = _zod.default.object({
|
|
16
21
|
wallet_attestation: _zod.default.string()
|
17
22
|
});
|
18
23
|
exports.WalletAttestationView = WalletAttestationView;
|
24
|
+
const WalletAttestationsView = _zod.default.object({
|
25
|
+
wallet_attestations: _zod.default.array(_zod.default.object({
|
26
|
+
format: _zod.default.union([_zod.default.literal("jwt"), _zod.default.literal("dc+sd-jwt")]),
|
27
|
+
wallet_attestation: _zod.default.string()
|
28
|
+
}))
|
29
|
+
});
|
30
|
+
exports.WalletAttestationsView = WalletAttestationsView;
|
19
31
|
const CreateWalletInstanceBody = _zod.default.object({
|
20
32
|
challenge: _zod.default.string(),
|
21
33
|
key_attestation: _zod.default.string(),
|
@@ -27,14 +39,10 @@ const CreateWalletAttestationBody = _zod.default.object({
|
|
27
39
|
assertion: _zod.default.string()
|
28
40
|
});
|
29
41
|
exports.CreateWalletAttestationBody = CreateWalletAttestationBody;
|
30
|
-
const
|
31
|
-
|
32
|
-
title: _zod.default.string().optional(),
|
33
|
-
status: _zod.default.number().optional(),
|
34
|
-
detail: _zod.default.string().optional(),
|
35
|
-
instance: _zod.default.string().optional()
|
42
|
+
const CreateWalletAttestationV2Body = _zod.default.object({
|
43
|
+
assertion: _zod.default.string()
|
36
44
|
});
|
37
|
-
exports.
|
45
|
+
exports.CreateWalletAttestationV2Body = CreateWalletAttestationV2Body;
|
38
46
|
const SetWalletInstanceStatusBody = _zod.default.object({
|
39
47
|
status: _zod.default.literal("REVOKED")
|
40
48
|
});
|
@@ -47,6 +55,14 @@ const WalletInstanceData = _zod.default.object({
|
|
47
55
|
revocation_reason: _zod.default.union([RevocationReason, _zod.default.undefined()]).optional()
|
48
56
|
});
|
49
57
|
exports.WalletInstanceData = WalletInstanceData;
|
58
|
+
const ProblemDetail = _zod.default.object({
|
59
|
+
type: _zod.default.string().optional(),
|
60
|
+
title: _zod.default.string().optional(),
|
61
|
+
status: _zod.default.number().optional(),
|
62
|
+
detail: _zod.default.string().optional(),
|
63
|
+
instance: _zod.default.string().optional()
|
64
|
+
});
|
65
|
+
exports.ProblemDetail = ProblemDetail;
|
50
66
|
const get_GetNonce = {
|
51
67
|
method: _zod.default.literal("GET"),
|
52
68
|
path: _zod.default.literal("/nonce"),
|
@@ -94,9 +110,18 @@ const post_CreateWalletAttestation = {
|
|
94
110
|
}),
|
95
111
|
response: WalletAttestationView
|
96
112
|
};
|
113
|
+
exports.post_CreateWalletAttestation = post_CreateWalletAttestation;
|
114
|
+
const post_CreateWalletAttestationV2 = {
|
115
|
+
method: _zod.default.literal("POST"),
|
116
|
+
path: _zod.default.literal("/wallet-attestations"),
|
117
|
+
parameters: _zod.default.object({
|
118
|
+
body: CreateWalletAttestationV2Body
|
119
|
+
}),
|
120
|
+
response: WalletAttestationsView
|
121
|
+
};
|
97
122
|
|
98
123
|
// <EndpointByMethod>
|
99
|
-
exports.
|
124
|
+
exports.post_CreateWalletAttestationV2 = post_CreateWalletAttestationV2;
|
100
125
|
const EndpointByMethod = {
|
101
126
|
get: {
|
102
127
|
"/nonce": get_GetNonce,
|
@@ -104,7 +129,8 @@ const EndpointByMethod = {
|
|
104
129
|
},
|
105
130
|
post: {
|
106
131
|
"/wallet-instances": post_CreateWalletInstance,
|
107
|
-
"/token": post_CreateWalletAttestation
|
132
|
+
"/token": post_CreateWalletAttestation,
|
133
|
+
"/wallet-attestations": post_CreateWalletAttestationV2
|
108
134
|
},
|
109
135
|
put: {
|
110
136
|
"/wallet-instances/{id}/status": put_SetWalletInstanceStatus
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_zod","_interopRequireDefault","require","obj","__esModule","default","
|
1
|
+
{"version":3,"names":["_zod","_interopRequireDefault","require","obj","__esModule","default","ApplicationInfo","z","object","name","string","version","exports","NonceDetailView","nonce","WalletAttestationView","wallet_attestation","WalletAttestationsView","wallet_attestations","array","format","union","literal","CreateWalletInstanceBody","challenge","key_attestation","hardware_key_tag","CreateWalletAttestationBody","grant_type","assertion","CreateWalletAttestationV2Body","SetWalletInstanceStatusBody","status","RevocationReason","WalletInstanceData","id","is_revoked","boolean","revocation_reason","undefined","optional","ProblemDetail","type","title","number","detail","instance","get_GetNonce","method","path","parameters","never","response","post_CreateWalletInstance","body","unknown","get_GetWalletInstanceStatus","put_SetWalletInstanceStatus","post_CreateWalletAttestation","post_CreateWalletAttestationV2","EndpointByMethod","get","post","put","ApiClient","baseUrl","constructor","fetcher","setBaseUrl","arguments","length","createApiClient"],"sourceRoot":"../../../../src","sources":["client/generated/wallet-provider.ts"],"mappings":"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"}
|
@@ -3,8 +3,9 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.getIssuerConfig = void 0;
|
6
|
+
exports.getIssuerConfigOIDFED = exports.getIssuerConfig = void 0;
|
7
7
|
var _issuer = require("../../entity/openid-connect/issuer");
|
8
|
+
var _ioReactNativeWallet = require("@pagopa/io-react-native-wallet");
|
8
9
|
/**
|
9
10
|
* Common configuration for the issuer.
|
10
11
|
* This is needed to have a common configuration for the issuer to be used in our flows.
|
@@ -13,6 +14,8 @@ var _issuer = require("../../entity/openid-connect/issuer");
|
|
13
14
|
|
14
15
|
/**
|
15
16
|
* WARNING: This function must be called after {@link startFlow}. The next function to be called is {@link startUserAuthorization}.
|
17
|
+
* WARNING: This function extracts the {@link IssuerConfig} from the OpenID Connect endpoint. For the OpenID Federation variant, use {@link getIssuerConfigOIDFED}.
|
18
|
+
* WARNING: The variants should not be used in conjunction.
|
16
19
|
* Get the Issuer's configuration from the Issuer's metadata.
|
17
20
|
* Currently it only supports a mixed configuration based on OpenID Connect partial implementation.
|
18
21
|
* @param issuerUrl The base url of the Issuer returned by {@link startFlow}
|
@@ -27,12 +30,31 @@ const getIssuerConfig = async function (issuerUrl) {
|
|
27
30
|
return credentialIssuerRationalization(res);
|
28
31
|
};
|
29
32
|
|
33
|
+
/**
|
34
|
+
* WARNING: This function must be called after {@link startFlow}. The next function to be called is {@link startUserAuthorization}.
|
35
|
+
* WARNING: This function extracts the {@link IssuerConfig} from the OpenID Federation EC. For the OpenID Connect variant, use {@link getIssuerConfig}.
|
36
|
+
* WARNING: The variants should not be used in conjunction.
|
37
|
+
* Get the Issuer's configuration from the Issuer's metadata fetched from the OpenID Federation system.
|
38
|
+
* Currently it only supports a mixed configuration based on OpenID Federation partial implementation.
|
39
|
+
* @param issuerUrl The base url of the Issuer returned by {@link startFlow}
|
40
|
+
* @param context.appFetch (optional) fetch api implementation. Default: built-in fetch
|
41
|
+
* @returns The Issuer's configuration
|
42
|
+
*/
|
43
|
+
exports.getIssuerConfig = getIssuerConfig;
|
44
|
+
const getIssuerConfigOIDFED = async function (issuerUrl) {
|
45
|
+
let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
46
|
+
const res = await (0, _ioReactNativeWallet.getCredentialIssuerEntityConfiguration)(issuerUrl, {
|
47
|
+
appFetch: context.appFetch
|
48
|
+
});
|
49
|
+
return credentialIssuerRationalizationOIDFED(res);
|
50
|
+
};
|
51
|
+
|
30
52
|
/**
|
31
53
|
* Rationalize the issuer's metadata to the issuer's configuration which is then used in our flows to interact with the issuer.
|
32
54
|
* @param issuerMetadata - The issuer's metadata
|
33
55
|
* @returns the isssuer configuration to be used later in our flows
|
34
56
|
*/
|
35
|
-
exports.
|
57
|
+
exports.getIssuerConfigOIDFED = getIssuerConfigOIDFED;
|
36
58
|
const credentialIssuerRationalization = issuerMetadata => {
|
37
59
|
return {
|
38
60
|
issuerConf: {
|
@@ -41,7 +63,65 @@ const credentialIssuerRationalization = issuerMetadata => {
|
|
41
63
|
authorization_endpoint: issuerMetadata.authorization_endpoint,
|
42
64
|
token_endpoint: issuerMetadata.token_endpoint,
|
43
65
|
credential_endpoint: issuerMetadata.credential_endpoint,
|
44
|
-
keys: issuerMetadata.jwks.keys
|
66
|
+
keys: issuerMetadata.jwks.keys,
|
67
|
+
issuer: issuerMetadata.authorization_endpoint
|
68
|
+
}
|
69
|
+
};
|
70
|
+
};
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Rationalize the issuer's metadata taken from OpenID Federation to the issuer's configuration which is then used in our flows to interact with the issuer.
|
74
|
+
* @param issuerMetadata - The issuer's metadata
|
75
|
+
* @returns the isssuer configuration to be used later in our flows
|
76
|
+
*/
|
77
|
+
const credentialIssuerRationalizationOIDFED = issuerMetadata => {
|
78
|
+
const adapted_credential_configurations_supported = Object.fromEntries(Object.entries(issuerMetadata.payload.metadata.openid_credential_issuer.credential_configurations_supported).map(_ref => {
|
79
|
+
let [key, config] = _ref;
|
80
|
+
const claimsRaw = config.claims;
|
81
|
+
// we need to evaluate how claims is in oder to support Federation and OID4VCI
|
82
|
+
// claim structure is different in both case
|
83
|
+
let claims;
|
84
|
+
if (claimsRaw && typeof Object.values(claimsRaw)[0] === "object" && "mandatory" in Object.values(claimsRaw)[0]) {
|
85
|
+
// claims is Record<string, { mandatory: boolean; display: Display[] }>
|
86
|
+
claims = Object.fromEntries(Object.entries(claimsRaw).map(_ref2 => {
|
87
|
+
let [, v] = _ref2;
|
88
|
+
return [[v.path[0]], {
|
89
|
+
mandatory: true,
|
90
|
+
display: v.display
|
91
|
+
}];
|
92
|
+
}));
|
93
|
+
} else {
|
94
|
+
// claims is Record<string, Record<string, { mandatory; display }>>
|
95
|
+
claims = Object.fromEntries(Object.entries(claimsRaw).map(_ref3 => {
|
96
|
+
let [k, inner] = _ref3;
|
97
|
+
return [[k], Object.fromEntries(Object.entries(inner).map(_ref4 => {
|
98
|
+
let [innerK, v] = _ref4;
|
99
|
+
return [[innerK], {
|
100
|
+
mandatory: v.mandatory,
|
101
|
+
display: v.display
|
102
|
+
}];
|
103
|
+
}))];
|
104
|
+
}));
|
105
|
+
}
|
106
|
+
const newConfig = {
|
107
|
+
...config,
|
108
|
+
claims,
|
109
|
+
// cryptographic_suites_supported have been renamed credential_signing_alg_values_supported.
|
110
|
+
// We mantain it for Potential compatibility
|
111
|
+
cryptographic_suites_supported: config.credential_signing_alg_values_supported
|
112
|
+
};
|
113
|
+
return [key, newConfig];
|
114
|
+
}));
|
115
|
+
return {
|
116
|
+
issuerConf: {
|
117
|
+
credential_configurations_supported: adapted_credential_configurations_supported,
|
118
|
+
pushed_authorization_request_endpoint: issuerMetadata.payload.metadata.oauth_authorization_server.pushed_authorization_request_endpoint,
|
119
|
+
authorization_endpoint: issuerMetadata.payload.metadata.oauth_authorization_server.authorization_endpoint,
|
120
|
+
token_endpoint: issuerMetadata.payload.metadata.oauth_authorization_server.token_endpoint,
|
121
|
+
credential_endpoint: issuerMetadata.payload.metadata.openid_credential_issuer.credential_endpoint,
|
122
|
+
keys: issuerMetadata.payload.metadata.openid_credential_issuer.jwks.keys,
|
123
|
+
issuer: issuerMetadata.payload.metadata.oauth_authorization_server.issuer,
|
124
|
+
nonce_endpoint: issuerMetadata.payload.metadata.openid_credential_issuer.nonce_endpoint
|
45
125
|
}
|
46
126
|
};
|
47
127
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_issuer","require","getIssuerConfig","issuerUrl","context","arguments","length","undefined","res","getCredentialIssuerMetadata","appFetch","credentialIssuerRationalization","exports","issuerMetadata","issuerConf","credential_configurations_supported","pushed_authorization_request_endpoint","authorization_endpoint","token_endpoint","credential_endpoint","keys","jwks"],"sourceRoot":"../../../../src","sources":["credential/issuance/02-get-issuer-config.ts"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;
|
1
|
+
{"version":3,"names":["_issuer","require","_ioReactNativeWallet","getIssuerConfig","issuerUrl","context","arguments","length","undefined","res","getCredentialIssuerMetadata","appFetch","credentialIssuerRationalization","exports","getIssuerConfigOIDFED","getCredentialIssuerEntityConfiguration","credentialIssuerRationalizationOIDFED","issuerMetadata","issuerConf","credential_configurations_supported","pushed_authorization_request_endpoint","authorization_endpoint","token_endpoint","credential_endpoint","keys","jwks","issuer","adapted_credential_configurations_supported","Object","fromEntries","entries","payload","metadata","openid_credential_issuer","map","_ref","key","config","claimsRaw","claims","values","_ref2","v","path","mandatory","display","_ref3","k","inner","_ref4","innerK","newConfig","cryptographic_suites_supported","credential_signing_alg_values_supported","oauth_authorization_server","nonce_endpoint"],"sourceRoot":"../../../../src","sources":["credential/issuance/02-get-issuer-config.ts"],"mappings":"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"}
|
@@ -19,15 +19,13 @@ var _par = require("../../utils/par");
|
|
19
19
|
*/
|
20
20
|
const selectCredentialDefinition = (issuerConf, credentialType) => {
|
21
21
|
const credential_configurations_supported = issuerConf.credential_configurations_supported;
|
22
|
-
const
|
23
|
-
if (!credential) {
|
24
|
-
throw new Error(`No credential support the type '${credentialType}'`);
|
25
|
-
}
|
26
|
-
const result = {
|
22
|
+
const [result] = Object.keys(credential_configurations_supported).filter(e => e.includes(credentialType)).map(() => ({
|
27
23
|
credential_configuration_id: credentialType,
|
28
|
-
format: credential.format,
|
29
24
|
type: "openid_credential"
|
30
|
-
};
|
25
|
+
}));
|
26
|
+
if (!result) {
|
27
|
+
throw new Error(`No credential support the type '${credentialType}'`);
|
28
|
+
}
|
31
29
|
return result;
|
32
30
|
};
|
33
31
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_misc","require","_par","selectCredentialDefinition","issuerConf","credentialType","credential_configurations_supported","
|
1
|
+
{"version":3,"names":["_misc","require","_par","selectCredentialDefinition","issuerConf","credentialType","credential_configurations_supported","result","Object","keys","filter","e","includes","map","credential_configuration_id","type","Error","selectResponseMode","responseMode","startUserAuthorization","ctx","wiaCryptoContext","walletInstanceAttestation","redirectUri","appFetch","fetch","clientId","getPublicKey","then","_","kid","codeVerifier","generateRandomAlphaNumericString","parEndpoint","pushed_authorization_request_endpoint","credentialDefinition","getPar","makeParRequest","issuerRequestUri","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/03-start-user-authorization.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,0BAA0B,GAAGA,CACjCC,UAA8C,EAC9CC,cAAgD,KACxB;EACxB,MAAMC,mCAAmC,GACvCF,UAAU,CAACE,mCAAmC;EAEhD,MAAM,CAACC,MAAM,CAAC,GAAGC,MAAM,CAACC,IAAI,CAACH,mCAAmC,CAAC,CAC9DI,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,QAAQ,CAACP,cAAc,CAAC,CAAC,CACzCQ,GAAG,CAAC,OAAO;IACVC,2BAA2B,EAAET,cAAc;IAC3CU,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAEL,IAAI,CAACR,MAAM,EAAE;IACX,MAAM,IAAIS,KAAK,CAAE,mCAAkCX,cAAe,GAAE,CAAC;EACvE;EAEA,OAAOE,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMU,kBAAkB,GACtBZ,cAAgD,IAC/B;EACjB,MAAMa,YAAY,GAChBb,cAAc,KAAK,6BAA6B,GAC5C,OAAO,GACP,eAAe;EAErB,OAAOa,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAA8C,GAAG,MAAAA,CAC5Df,UAAU,EACVC,cAAc,EACde,GAAG,KACA;EACH,MAAM;IACJC,gBAAgB;IAChBC,yBAAyB;IACzBC,WAAW;IACXC,QAAQ,GAAGC;EACb,CAAC,GAAGL,GAAG;EAEP,MAAMM,QAAQ,GAAG,MAAML,gBAAgB,CAACM,YAAY,CAAC,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,CAAC;EACzE,IAAI,CAACJ,QAAQ,EAAE;IACb,MAAM,IAAIV,KAAK,CAAC,qBAAqB,CAAC;EACxC;EACA,MAAMe,YAAY,GAAG,IAAAC,sCAAgC,EAAC,EAAE,CAAC;EACzD,MAAMC,WAAW,GAAG7B,UAAU,CAAC8B,qCAAqC;EACpE,MAAMC,oBAAoB,GAAGhC,0BAA0B,CACrDC,UAAU,EACVC,cACF,CAAC;EACD,MAAMa,YAAY,GAAGD,kBAAkB,CAACZ,cAAc,CAAC;EAEvD,MAAM+B,MAAM,GAAG,IAAAC,mBAAc,EAAC;IAAEhB,gBAAgB;IAAEG;EAAS,CAAC,CAAC;EAC7D,MAAMc,gBAAgB,GAAG,MAAMF,MAAM,CACnCV,QAAQ,EACRK,YAAY,EACZR,WAAW,EACXL,YAAY,EACZe,WAAW,EACXX,yBAAyB,EACzB,CAACa,oBAAoB,CACvB,CAAC;EAED,OAAO;IAAEG,gBAAgB;IAAEZ,QAAQ;IAAEK,YAAY;IAAEI;EAAqB,CAAC;AAC3E,CAAC;AAACI,OAAA,CAAApB,sBAAA,GAAAA,sBAAA"}
|
@@ -45,14 +45,33 @@ const obtainCredential = async (issuerConf, accessToken, clientId, credentialDef
|
|
45
45
|
dPopCryptoContext
|
46
46
|
} = context;
|
47
47
|
const credentialUrl = issuerConf.credential_endpoint;
|
48
|
+
const issuerUrl = issuerConf.issuer;
|
49
|
+
const nonceUrl = issuerConf.nonce_endpoint;
|
50
|
+
|
51
|
+
// Fetch the nonce from the Credential Issuer
|
52
|
+
const {
|
53
|
+
c_nonce
|
54
|
+
} = nonceUrl ? await appFetch(nonceUrl, {
|
55
|
+
method: "POST",
|
56
|
+
headers: {
|
57
|
+
"Content-Type": "application/json"
|
58
|
+
}
|
59
|
+
}).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.json()).then(body => _types.NonceResponse.parse(body)) : accessToken;
|
60
|
+
if (!c_nonce) {
|
61
|
+
throw new _errors.ValidationFailed({
|
62
|
+
message: "Nonce Endpoint not found or access token does not contain the c_nonce"
|
63
|
+
});
|
64
|
+
}
|
48
65
|
|
49
66
|
/**
|
50
67
|
* JWT proof token to bind the request nonce to the key that will bind the holder User with the Credential
|
51
68
|
* This is presented along with the access token to the Credential Endpoint as proof of possession of the private key used to sign the Access Token.
|
52
69
|
* @see https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-proof-types
|
53
70
|
*/
|
54
|
-
const signedNonceProof = await createNonceProof(
|
55
|
-
|
71
|
+
const signedNonceProof = await createNonceProof(c_nonce, clientId, issuerUrl, credentialCryptoContext);
|
72
|
+
|
73
|
+
// Validation of accessTokenResponse.authorization_details if contain credentialDefinition
|
74
|
+
const containsCredentialDefinition = accessToken.authorization_details.some(c => c.credential_configuration_id === credentialDefinition.credential_configuration_id && (credentialDefinition.credential_identifier ? c.credential_identifiers.includes(credentialDefinition.credential_identifier) : true));
|
56
75
|
if (!containsCredentialDefinition) {
|
57
76
|
throw new _errors.ValidationFailed({
|
58
77
|
message: "The access token response does not contain the requested credential"
|
@@ -73,12 +92,7 @@ const obtainCredential = async (issuerConf, accessToken, clientId, credentialDef
|
|
73
92
|
|
74
93
|
/** The credential request body */
|
75
94
|
const credentialRequestFormBody = {
|
76
|
-
|
77
|
-
doctype: credentialDefinition.credential_configuration_id
|
78
|
-
} : {
|
79
|
-
vct: credentialDefinition.credential_configuration_id
|
80
|
-
}),
|
81
|
-
format,
|
95
|
+
credential_identifier: credentialDefinition.credential_configuration_id,
|
82
96
|
proof: {
|
83
97
|
jwt: signedNonceProof,
|
84
98
|
proof_type: "jwt"
|
@@ -106,8 +120,11 @@ const obtainCredential = async (issuerConf, accessToken, clientId, credentialDef
|
|
106
120
|
});
|
107
121
|
}
|
108
122
|
|
109
|
-
|
110
|
-
return
|
123
|
+
// We support only one credential for now
|
124
|
+
return {
|
125
|
+
format,
|
126
|
+
...credentialRes.data.credentials.at(0)
|
127
|
+
};
|
111
128
|
};
|
112
129
|
|
113
130
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ioReactNativeJwt","require","_misc","_errors","_types","_dpop","_reactNativeUuid","_interopRequireDefault","obj","__esModule","default","createNonceProof","nonce","issuer","audience","ctx","jwk","getPublicKey","SignJWT","setPayload","setProtectedHeader","typ","setAudience","setIssuer","setIssuedAt","setExpirationTime","sign","exports","obtainCredential","issuerConf","accessToken","clientId","credentialDefinition","context","credentialCryptoContext","appFetch","fetch","dPopCryptoContext","credentialUrl","credential_endpoint","
|
1
|
+
{"version":3,"names":["_ioReactNativeJwt","require","_misc","_errors","_types","_dpop","_reactNativeUuid","_interopRequireDefault","obj","__esModule","default","createNonceProof","nonce","issuer","audience","ctx","jwk","getPublicKey","SignJWT","setPayload","setProtectedHeader","typ","setAudience","setIssuer","setIssuedAt","setExpirationTime","sign","exports","obtainCredential","issuerConf","accessToken","clientId","credentialDefinition","context","credentialCryptoContext","appFetch","fetch","dPopCryptoContext","credentialUrl","credential_endpoint","issuerUrl","nonceUrl","nonce_endpoint","c_nonce","method","headers","then","hasStatusOrThrow","res","json","body","NonceResponse","parse","ValidationFailed","message","signedNonceProof","containsCredentialDefinition","authorization_details","some","c","credential_configuration_id","credential_identifier","credential_identifiers","includes","credential","credential_configurations_supported","format","credentialRequestFormBody","proof","jwt","proof_type","tokenRequestSignedDPop","createDPopToken","htm","htu","jti","uuid","v4","ath","sha256ToBase64","access_token","credentialRes","DPoP","Authorization","token_type","JSON","stringify","CredentialResponse","safeParse","catch","handleObtainCredentialError","success","reason","error","data","credentials","at","e","UnexpectedStatusCodeError","ResponseErrorBuilder","IssuerResponseError","handle","code","IssuerResponseErrorCodes","CredentialRequestFailed","buildFrom"],"sourceRoot":"../../../../src","sources":["credential/issuance/06-obtain-credential.ts"],"mappings":"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"}
|