@pagopa/io-react-native-wallet 0.14.0 → 0.15.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/cie/manager.js +4 -4
- package/lib/commonjs/cie/manager.js.map +1 -1
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +142 -21
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +12 -4
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/index.js +14 -2
- package/lib/commonjs/credential/issuance/index.js.map +1 -1
- package/lib/commonjs/credential/issuance/types.js +9 -1
- package/lib/commonjs/credential/issuance/types.js.map +1 -1
- package/lib/commonjs/trust/types.js +5 -3
- package/lib/commonjs/trust/types.js.map +1 -1
- package/lib/commonjs/utils/decoder.js +28 -19
- package/lib/commonjs/utils/decoder.js.map +1 -1
- package/lib/module/cie/manager.js +4 -4
- package/lib/module/cie/manager.js.map +1 -1
- package/lib/module/credential/issuance/04-complete-user-authorization.js +140 -20
- package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +12 -4
- package/lib/module/credential/issuance/07-verify-and-parse-credential.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 +7 -0
- package/lib/module/credential/issuance/types.js.map +1 -1
- package/lib/module/trust/types.js +5 -3
- package/lib/module/trust/types.js.map +1 -1
- package/lib/module/utils/decoder.js +28 -19
- package/lib/module/utils/decoder.js.map +1 -1
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +48 -6
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +1 -0
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/index.d.ts +3 -3
- package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/types.d.ts +10 -0
- package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
- package/lib/typescript/trust/index.d.ts +14 -14
- package/lib/typescript/trust/types.d.ts +142 -142
- package/lib/typescript/trust/types.d.ts.map +1 -1
- package/lib/typescript/utils/decoder.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cie/manager.ts +4 -4
- package/src/credential/issuance/04-complete-user-authorization.ts +212 -20
- package/src/credential/issuance/07-verify-and-parse-credential.ts +14 -6
- package/src/credential/issuance/index.ts +10 -2
- package/src/credential/issuance/types.ts +7 -0
- package/src/trust/types.ts +8 -6
- package/src/utils/decoder.ts +28 -19
@@ -22,9 +22,9 @@ export const startCieAndroid = (useCieUat, ciePin, onError, onEvent, cieAuthoriz
|
|
22
22
|
await cieManager.startListeningNFC();
|
23
23
|
onEvent(CieEvent.waiting_card);
|
24
24
|
}).catch(onError);
|
25
|
-
} catch {
|
25
|
+
} catch (e) {
|
26
26
|
onError(new CieError({
|
27
|
-
message:
|
27
|
+
message: `Unable to start CIE NFC manager on Android: ${e}`,
|
28
28
|
type: CieErrorType.NFC_ERROR
|
29
29
|
}));
|
30
30
|
}
|
@@ -45,9 +45,9 @@ export const startCieiOS = async (useCieUat, ciePin, onError, onEvent, cieAuthor
|
|
45
45
|
await cieManager.startListeningNFC();
|
46
46
|
onEvent(CieEvent.waiting_card);
|
47
47
|
}).catch(onError);
|
48
|
-
} catch {
|
48
|
+
} catch (e) {
|
49
49
|
onError(new CieError({
|
50
|
-
message:
|
50
|
+
message: `Unable to start CIE NFC manager on iOS: ${e}`,
|
51
51
|
type: CieErrorType.NFC_ERROR
|
52
52
|
}));
|
53
53
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["cieManager","Platform","CieEvent","CieError","CieErrorType","BASE_UAT_URL","startCieAndroid","useCieUat","ciePin","onError","onEvent","cieAuthorizationUri","continueWithUrl","removeAllListeners","start","then","handleCieEvent","e","console","error","message","onSuccess","handleCieSuccess","setPin","setAuthenticationUrl","enableLog","setCustomIdpUrl","getCieUatEndpoint","startListeningNFC","waiting_card","catch","type","NFC_ERROR","startCieiOS","event","reading","TAG_NOT_VALID","AUTHENTICATION_ERROR","PIN_LOCKED","PIN_ERROR","attemptsLeft","CERTIFICATE_ERROR","url","decodeURIComponent","select","ios","android","default"],"sourceRoot":"../../../src","sources":["cie/manager.ts"],"mappings":"AAAA,OAAOA,UAAU,MAAgC,0BAA0B;AAC3E,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,QAAQ,QAAuC,aAAa;AACrE,SAASC,QAAQ,EAAEC,YAAY,QAAQ,SAAS;AAEhD,MAAMC,YAAY,GAAG,0DAA0D;AAI/E,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,SAAkB,EAClBC,MAAc,EACdC,OAAgB,EAChBC,OAAmB,EACnBC,mBAA2B,EAC3BC,eAAgC,KAC7B;EACH,IAAI;IACFZ,UAAU,CAACa,kBAAkB,CAAC,CAAC;IAC/Bb,UAAU,CACPc,KAAK,CAAC,CAAC,CACPC,IAAI,CAAC,YAAY;MAChBf,UAAU,CAACU,OAAO,CAACM,cAAc,CAACP,OAAO,EAAEC,OAAO,CAAC,CAAC;MACpDV,UAAU,CAACS,OAAO,CAAEQ,CAAQ,IAAK;QAC/BC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;QAChB,OAAOR,OAAO,CAAC,IAAIN,QAAQ,CAAC;UAAEiB,OAAO,EAAEH,CAAC,CAACG;QAAQ,CAAC,CAAC,CAAC;MACtD,CAAC,CAAC;MACFpB,UAAU,CAACqB,SAAS,CAACC,gBAAgB,CAACV,eAAe,CAAC,CAAC;MACvD,MAAMZ,UAAU,CAACuB,MAAM,CAACf,MAAM,CAAC;MAC/BR,UAAU,CAACwB,oBAAoB,CAACb,mBAAmB,CAAC;MACpDX,UAAU,CAACyB,SAAS,CAAClB,SAAS,CAAC;MAC/BP,UAAU,CAAC0B,eAAe,CAACnB,SAAS,GAAGoB,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;MAClE,MAAM3B,UAAU,CAAC4B,iBAAiB,CAAC,CAAC;MACpClB,OAAO,CAACR,QAAQ,CAAC2B,YAAY,CAAC;IAChC,CAAC,CAAC,CACDC,KAAK,CAACrB,OAAO,CAAC;EACnB,CAAC,CAAC,
|
1
|
+
{"version":3,"names":["cieManager","Platform","CieEvent","CieError","CieErrorType","BASE_UAT_URL","startCieAndroid","useCieUat","ciePin","onError","onEvent","cieAuthorizationUri","continueWithUrl","removeAllListeners","start","then","handleCieEvent","e","console","error","message","onSuccess","handleCieSuccess","setPin","setAuthenticationUrl","enableLog","setCustomIdpUrl","getCieUatEndpoint","startListeningNFC","waiting_card","catch","type","NFC_ERROR","startCieiOS","event","reading","TAG_NOT_VALID","AUTHENTICATION_ERROR","PIN_LOCKED","PIN_ERROR","attemptsLeft","CERTIFICATE_ERROR","url","decodeURIComponent","select","ios","android","default"],"sourceRoot":"../../../src","sources":["cie/manager.ts"],"mappings":"AAAA,OAAOA,UAAU,MAAgC,0BAA0B;AAC3E,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,QAAQ,QAAuC,aAAa;AACrE,SAASC,QAAQ,EAAEC,YAAY,QAAQ,SAAS;AAEhD,MAAMC,YAAY,GAAG,0DAA0D;AAI/E,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,SAAkB,EAClBC,MAAc,EACdC,OAAgB,EAChBC,OAAmB,EACnBC,mBAA2B,EAC3BC,eAAgC,KAC7B;EACH,IAAI;IACFZ,UAAU,CAACa,kBAAkB,CAAC,CAAC;IAC/Bb,UAAU,CACPc,KAAK,CAAC,CAAC,CACPC,IAAI,CAAC,YAAY;MAChBf,UAAU,CAACU,OAAO,CAACM,cAAc,CAACP,OAAO,EAAEC,OAAO,CAAC,CAAC;MACpDV,UAAU,CAACS,OAAO,CAAEQ,CAAQ,IAAK;QAC/BC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;QAChB,OAAOR,OAAO,CAAC,IAAIN,QAAQ,CAAC;UAAEiB,OAAO,EAAEH,CAAC,CAACG;QAAQ,CAAC,CAAC,CAAC;MACtD,CAAC,CAAC;MACFpB,UAAU,CAACqB,SAAS,CAACC,gBAAgB,CAACV,eAAe,CAAC,CAAC;MACvD,MAAMZ,UAAU,CAACuB,MAAM,CAACf,MAAM,CAAC;MAC/BR,UAAU,CAACwB,oBAAoB,CAACb,mBAAmB,CAAC;MACpDX,UAAU,CAACyB,SAAS,CAAClB,SAAS,CAAC;MAC/BP,UAAU,CAAC0B,eAAe,CAACnB,SAAS,GAAGoB,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;MAClE,MAAM3B,UAAU,CAAC4B,iBAAiB,CAAC,CAAC;MACpClB,OAAO,CAACR,QAAQ,CAAC2B,YAAY,CAAC;IAChC,CAAC,CAAC,CACDC,KAAK,CAACrB,OAAO,CAAC;EACnB,CAAC,CAAC,OAAOQ,CAAC,EAAE;IACVR,OAAO,CACL,IAAIN,QAAQ,CAAC;MACXiB,OAAO,EAAG,+CAA8CH,CAAE,EAAC;MAC3Dc,IAAI,EAAE3B,YAAY,CAAC4B;IACrB,CAAC,CACH,CAAC;EACH;AACF,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,MAAAA,CACzB1B,SAAkB,EAClBC,MAAc,EACdC,OAAgB,EAChBC,OAAmB,EACnBC,mBAA2B,EAC3BC,eAAgC,KAC7B;EACH,IAAI;IACFZ,UAAU,CAACa,kBAAkB,CAAC,CAAC;IAC/Bb,UAAU,CAACU,OAAO,CAACM,cAAc,CAACP,OAAO,EAAEC,OAAO,CAAC,CAAC;IACpDV,UAAU,CAACS,OAAO,CAAEQ,CAAQ,IAC1BR,OAAO,CAAC,IAAIN,QAAQ,CAAC;MAAEiB,OAAO,EAAEH,CAAC,CAACG;IAAQ,CAAC,CAAC,CAC9C,CAAC;IACDpB,UAAU,CAACqB,SAAS,CAACC,gBAAgB,CAACV,eAAe,CAAC,CAAC;IACvDZ,UAAU,CAACyB,SAAS,CAAClB,SAAS,CAAC;IAC/BP,UAAU,CAAC0B,eAAe,CAACnB,SAAS,GAAGoB,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC;IAClE,MAAM3B,UAAU,CAACuB,MAAM,CAACf,MAAM,CAAC;IAC/BR,UAAU,CAACwB,oBAAoB,CAACb,mBAAmB,CAAC;IACpDX,UAAU,CACPc,KAAK,CAAC,CAAC,CACPC,IAAI,CAAC,YAAY;MAChB,MAAMf,UAAU,CAAC4B,iBAAiB,CAAC,CAAC;MACpClB,OAAO,CAACR,QAAQ,CAAC2B,YAAY,CAAC;IAChC,CAAC,CAAC,CACDC,KAAK,CAACrB,OAAO,CAAC;EACnB,CAAC,CAAC,OAAOQ,CAAC,EAAE;IACVR,OAAO,CACL,IAAIN,QAAQ,CAAC;MACXiB,OAAO,EAAG,2CAA0CH,CAAE,EAAC;MACvDc,IAAI,EAAE3B,YAAY,CAAC4B;IACrB,CAAC,CACH,CAAC;EACH;AACF,CAAC;AAED,MAAMhB,cAAc,GAClBA,CAACP,OAAgB,EAAEC,OAAmB,KAAMwB,KAAa,IAAK;EAC5D,QAAQA,KAAK,CAACA,KAAK;IACjB;IACA,KAAK,mBAAmB;MACtBxB,OAAO,CAACR,QAAQ,CAACiC,OAAO,CAAC;MACzB;IACF;IACA;IACA,KAAK,wBAAwB;IAC7B,KAAK,6BAA6B;IAClC,KAAK,2BAA2B;MAC9B1B,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,sBAAqBc,KAAK,CAACA,KAAM,EAAC;QAC5CH,IAAI,EAAE3B,YAAY,CAACgC;MACrB,CAAC,CACH,CAAC;MACD;IACF,KAAK,sBAAsB;IAC3B,KAAK,2BAA2B;MAC9B3B,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,gDAA+C;QACzDW,IAAI,EAAE3B,YAAY,CAACiC;MACrB,CAAC,CACH,CAAC;MACD;IACF,KAAK,6BAA6B;MAChC5B,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,oBAAmB;QAC7BW,IAAI,EAAE3B,YAAY,CAAC4B;MACrB,CAAC,CACH,CAAC;MACD;IACF,KAAK,oBAAoB;IACzB,KAAK,aAAa;MAChBvB,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,mBAAkB;QAC5BW,IAAI,EAAE3B,YAAY,CAAC4B;MACrB,CAAC,CACH,CAAC;MACD;;IAEF;IACA,KAAK,YAAY;IACjB,KAAK,oBAAoB;MACvBvB,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,YAAW;QACrBW,IAAI,EAAE3B,YAAY,CAACkC;MACrB,CAAC,CACH,CAAC;MACD;IACF,KAAK,cAAc;MACjB7B,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,YAAW;QACrBW,IAAI,EAAE3B,YAAY,CAACmC,SAAS;QAC5BC,YAAY,EAAEN,KAAK,CAACM;MACtB,CAAC,CACH,CAAC;MACD;;IAEF;IACA,KAAK,qBAAqB;MACxB/B,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,qBAAoB;QAC9BW,IAAI,EAAE3B,YAAY,CAACqC;MACrB,CAAC,CACH,CAAC;MACD;IACF,KAAK,qBAAqB;MACxBhC,OAAO,CACL,IAAIN,QAAQ,CAAC;QACXiB,OAAO,EAAG,qBAAoB;QAC9BW,IAAI,EAAE3B,YAAY,CAACqC;MACrB,CAAC,CACH,CAAC;MAED;IAEF;MACE;EACJ;AACF,CAAC;AAEH,MAAMnB,gBAAgB,GACnBV,eAAgC,IAAM8B,GAAW,IAAK;EACrD9B,eAAe,CAAC+B,kBAAkB,CAACD,GAAG,CAAC,CAAC;AAC1C,CAAC;AAEH,MAAMf,iBAAiB,GAAGA,CAAA,KACxB1B,QAAQ,CAAC2C,MAAM,CAAC;EACdC,GAAG,EAAG,GAAExC,YAAa,kBAAiB;EACtCyC,OAAO,EAAEzC,YAAY;EACrB0C,OAAO,EAAE;AACX,CAAC,CAAC"}
|
@@ -1,8 +1,13 @@
|
|
1
1
|
import { AuthorizationErrorShape, AuthorizationResultShape } from "../../utils/auth";
|
2
|
-
import { until } from "../../utils/misc";
|
2
|
+
import { hasStatus, until } from "../../utils/misc";
|
3
3
|
import parseUrl from "parse-url";
|
4
|
-
import { AuthorizationError, AuthorizationIdpError } from "../../utils/errors";
|
4
|
+
import { AuthorizationError, AuthorizationIdpError, ValidationFailed } from "../../utils/errors";
|
5
5
|
import { Linking } from "react-native";
|
6
|
+
import { decode, encodeBase64, SignJWT } from "@pagopa/io-react-native-jwt";
|
7
|
+
import { RequestObject } from "../presentation/types";
|
8
|
+
import uuid from "react-native-uuid";
|
9
|
+
import { ResponseUriResultShape } from "./types";
|
10
|
+
import { getJwtFromFormPost } from "../../utils/decoder";
|
6
11
|
|
7
12
|
/**
|
8
13
|
* The interface of the phase to complete User authorization via strong identification when the response mode is "query" and the request credential is a PersonIdentificationData.
|
@@ -26,11 +31,6 @@ import { Linking } from "react-native";
|
|
26
31
|
* @returns the authorization response which contains code, state and iss
|
27
32
|
*/
|
28
33
|
export const completeUserAuthorizationWithQueryMode = async (issuerRequestUri, clientId, issuerConf, idpHint, redirectUri, authorizationContext) => {
|
29
|
-
/**
|
30
|
-
* Starts the authorization flow which dependes on the response mode and the request credential.
|
31
|
-
* If the response mode is "query" the authorization flow is handled differently via the authorization context which opens an in-app browser capable of catching the redirectSchema.
|
32
|
-
* The form_post.jwt mode is not currently supported.
|
33
|
-
*/
|
34
34
|
const authzRequestEndpoint = issuerConf.oauth_authorization_server.authorization_endpoint;
|
35
35
|
const params = new URLSearchParams({
|
36
36
|
client_id: clientId,
|
@@ -66,24 +66,144 @@ export const completeUserAuthorizationWithQueryMode = async (issuerRequestUri, c
|
|
66
66
|
throw new AuthorizationError("Invalid authentication redirect url");
|
67
67
|
}
|
68
68
|
}
|
69
|
-
|
69
|
+
const query = parseUrl(authRedirectUrl).query;
|
70
|
+
return parseAuthroizationResponse(query);
|
71
|
+
};
|
72
|
+
|
73
|
+
/**
|
74
|
+
* WARNING: This function must be called after {@link startUserAuthorization}. The next function to be called is {@link completeUserAuthorizationWithFormPostJwtMode}.
|
75
|
+
* The interface of the phase to complete User authorization via presentation of existing credentials when the response mode is "form_post.jwt".
|
76
|
+
* It is used as a first step to complete the user authorization by obtaining the requested credential to be presented from the authorization server.
|
77
|
+
* The information is obtained by performing a GET request to the authorization endpoint with request_uri and client_id parameters.
|
78
|
+
* @param issuerRequestUri the URI of the issuer where the request is sent
|
79
|
+
* @param clientId Identifies the current client across all the requests of the issuing flow returned by {@link startUserAuthorization}
|
80
|
+
* @param issuerConf The issuer configuration returned by {@link evaluateIssuerTrust}
|
81
|
+
* @param appFetch (optional) fetch api implementation. Default: built-in fetch
|
82
|
+
* @throws {ValidationFailed} if an error while validating the response
|
83
|
+
* @returns the request object which contains the credential to be presented in order to obtain the requested credential
|
84
|
+
*/
|
85
|
+
export const getRequestedCredentialToBePresented = async function (issuerRequestUri, clientId, issuerConf) {
|
86
|
+
let appFetch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : fetch;
|
87
|
+
const authzRequestEndpoint = issuerConf.oauth_authorization_server.authorization_endpoint;
|
88
|
+
const params = new URLSearchParams({
|
89
|
+
client_id: clientId,
|
90
|
+
request_uri: issuerRequestUri
|
91
|
+
});
|
92
|
+
const requestObject = await appFetch(`${authzRequestEndpoint}?${params.toString()}`, {
|
93
|
+
method: "GET"
|
94
|
+
}).then(hasStatus(200)).then(res => res.text()).then(jws => decode(jws)).then(reqObj => RequestObject.safeParse(reqObj.payload));
|
95
|
+
if (!requestObject.success) {
|
96
|
+
throw new ValidationFailed("Request Object validation failed", requestObject.error.message);
|
97
|
+
}
|
98
|
+
return requestObject.data;
|
70
99
|
};
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
100
|
+
|
101
|
+
/**
|
102
|
+
* WARNING: This function must be called after {@link startUserAuthorization}. The next function to be called is {@link completeUserAuthorizationWithFormPostJwtMode}.
|
103
|
+
* The interface of the phase to complete User authorization via presentation of existing credentials when the response mode is "form_post.jwt".
|
104
|
+
* It is used as a first step to complete the user authorization by obtaining the requested credential to be presented from the authorization server.
|
105
|
+
* The information is obtained by performing a GET request to the authorization endpoint with request_uri and client_id parameters.
|
106
|
+
* @param issuerRequestUri the URI of the issuer where the request is sent
|
107
|
+
* @param clientId Identifies the current client across all the requests of the issuing flow returned by {@link startUserAuthorization}
|
108
|
+
* @param issuerConf The issuer configuration returned by {@link evaluateIssuerTrust}
|
109
|
+
* @param context.walletInstanceAccestation the Wallet Instance's attestation to be presented
|
110
|
+
* @param context.pid the PID to be presented
|
111
|
+
* @param context.wiaCryptoContext The Wallet Instance's crypto context associated with the walletInstanceAttestation parameter
|
112
|
+
* @param context.pidCryptoContext The PID crypto context associated with the pid parameter
|
113
|
+
* @param context.appFetch (optional) fetch api implementation. Default: built-in fetch
|
114
|
+
* @throws {ValidationFailed} if an error while validating the response
|
115
|
+
* @returns the authorization response which contains code, state and iss
|
116
|
+
*/
|
117
|
+
export const completeUserAuthorizationWithFormPostJwtMode = async (requestObject, ctx) => {
|
118
|
+
const {
|
119
|
+
wiaCryptoContext,
|
120
|
+
pidCryptoContext,
|
121
|
+
pid,
|
122
|
+
walletInstanceAttestation,
|
123
|
+
appFetch = fetch
|
124
|
+
} = ctx;
|
125
|
+
const wiaWpToken = await new SignJWT(wiaCryptoContext).setProtectedHeader({
|
126
|
+
alg: "ES256",
|
127
|
+
typ: "JWT"
|
128
|
+
}).setPayload({
|
129
|
+
vp: walletInstanceAttestation,
|
130
|
+
jti: uuid.v4().toString(),
|
131
|
+
nonce: requestObject.nonce
|
132
|
+
}).setIssuedAt().setExpirationTime("5m").setAudience(requestObject.response_uri).sign();
|
133
|
+
const pidWpToken = await new SignJWT(pidCryptoContext).setProtectedHeader({
|
134
|
+
alg: "ES256",
|
135
|
+
typ: "JWT"
|
136
|
+
}).setPayload({
|
137
|
+
vp: pid,
|
138
|
+
jti: uuid.v4().toString(),
|
139
|
+
nonce: requestObject.nonce
|
140
|
+
}).setIssuedAt().setExpirationTime("5m").setAudience(requestObject.response_uri).sign();
|
141
|
+
|
142
|
+
/* The path parameter refers to the vp_token variable of the authzResponsePayload and must point to the plain credential which
|
143
|
+
* is cointaned in the `vp` property of the signed jwt token payload
|
144
|
+
*/
|
145
|
+
const presentationSubmission = {
|
146
|
+
definition_id: `${uuid.v4()}`,
|
147
|
+
id: `${uuid.v4()}`,
|
148
|
+
descriptor_map: [{
|
149
|
+
id: "PersonIdentificationData",
|
150
|
+
path: "$.vp_token[0].vp",
|
151
|
+
format: "vc+sd-jwt"
|
152
|
+
}, {
|
153
|
+
id: "WalletAttestation",
|
154
|
+
path: "$.vp_token[1].vp",
|
155
|
+
format: "jwt"
|
156
|
+
}]
|
157
|
+
};
|
158
|
+
const authzResponsePayload = encodeBase64(JSON.stringify({
|
159
|
+
state: requestObject.state,
|
160
|
+
presentation_submission: presentationSubmission,
|
161
|
+
vp_token: [pidWpToken, wiaWpToken]
|
162
|
+
}));
|
163
|
+
|
164
|
+
// Note: according to the spec, the response should be encrypted with the public key of the RP however this is not implemented yet
|
165
|
+
// https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-signed-and-encrypted-response
|
166
|
+
// const rsaPublicJwk = chooseRSAPublicKeyToEncrypt(rpConf);
|
167
|
+
// const encrypted = await new EncryptJwe(authzResponsePayload, {
|
168
|
+
// alg: "RSA-OAEP-256",
|
169
|
+
// enc: "A256CBC-HS512",
|
170
|
+
// kid: rsaPublicJwk.kid,
|
171
|
+
// }).encrypt(rsaPublicJwk);
|
172
|
+
|
173
|
+
const body = new URLSearchParams({
|
174
|
+
response: authzResponsePayload
|
175
|
+
}).toString();
|
176
|
+
const resUriRes = await appFetch(requestObject.response_uri, {
|
177
|
+
method: "POST",
|
178
|
+
headers: {
|
179
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
180
|
+
},
|
181
|
+
body
|
182
|
+
}).then(hasStatus(200)).then(reqUri => reqUri.json());
|
183
|
+
const responseUri = ResponseUriResultShape.safeParse(resUriRes);
|
184
|
+
if (!responseUri.success) {
|
185
|
+
throw new ValidationFailed("Response Uri validation failed", responseUri.error.message);
|
186
|
+
}
|
187
|
+
return await appFetch(responseUri.data.redirect_uri).then(hasStatus(200)).then(res => res.text()).then(getJwtFromFormPost).then(cbRes => parseAuthroizationResponse(cbRes.decodedJwt.payload));
|
188
|
+
};
|
189
|
+
|
190
|
+
/**
|
191
|
+
* Parse the authorization response and return the result which contains code, state and iss.
|
192
|
+
* @throws {AuthorizationError} if an error occurs during the parsing process
|
193
|
+
* @throws {AuthorizationIdpError} if an error occurs during the parsing process and the error is related to the IDP
|
194
|
+
* @param authRes the authorization response to be parsed
|
195
|
+
* @returns the authorization result which contains code, state and iss
|
196
|
+
*/
|
197
|
+
export const parseAuthroizationResponse = authRes => {
|
198
|
+
const authResParsed = AuthorizationResultShape.safeParse(authRes);
|
199
|
+
if (!authResParsed.success) {
|
200
|
+
const authErr = AuthorizationErrorShape.safeParse(authRes);
|
76
201
|
if (!authErr.success) {
|
77
|
-
throw new AuthorizationError(
|
202
|
+
throw new AuthorizationError(authResParsed.error.message); // an error occured while parsing the result and the error
|
78
203
|
}
|
79
204
|
|
80
205
|
throw new AuthorizationIdpError(authErr.data.error, authErr.data.error_description);
|
81
206
|
}
|
82
|
-
return
|
83
|
-
};
|
84
|
-
|
85
|
-
// TODO: SIW-1120 implement generic credential issuance flow
|
86
|
-
export const completeUserAuthorizationWithFormPostJwtMode = () => {
|
87
|
-
throw new Error("Not implemented");
|
207
|
+
return authResParsed.data;
|
88
208
|
};
|
89
209
|
//# sourceMappingURL=04-complete-user-authorization.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["AuthorizationErrorShape","AuthorizationResultShape","until","parseUrl","AuthorizationError","AuthorizationIdpError","Linking","completeUserAuthorizationWithQueryMode","issuerRequestUri","clientId","issuerConf","idpHint","redirectUri","authorizationContext","authzRequestEndpoint","oauth_authorization_server","authorization_endpoint","params","URLSearchParams","client_id","request_uri","idphint","authUrl","authRedirectUrl","redirectSchema","URL","protocol","replace","authorize","catch","e","message","addEventListener","_ref","url","includes","openAuthUrlInBrowser","openURL","unitAuthRedirectIsNotUndefined","undefined","Promise","all","
|
1
|
+
{"version":3,"names":["AuthorizationErrorShape","AuthorizationResultShape","hasStatus","until","parseUrl","AuthorizationError","AuthorizationIdpError","ValidationFailed","Linking","decode","encodeBase64","SignJWT","RequestObject","uuid","ResponseUriResultShape","getJwtFromFormPost","completeUserAuthorizationWithQueryMode","issuerRequestUri","clientId","issuerConf","idpHint","redirectUri","authorizationContext","authzRequestEndpoint","oauth_authorization_server","authorization_endpoint","params","URLSearchParams","client_id","request_uri","idphint","authUrl","authRedirectUrl","redirectSchema","URL","protocol","replace","authorize","catch","e","message","addEventListener","_ref","url","includes","openAuthUrlInBrowser","openURL","unitAuthRedirectIsNotUndefined","undefined","Promise","all","query","parseAuthroizationResponse","getRequestedCredentialToBePresented","appFetch","arguments","length","fetch","requestObject","toString","method","then","res","text","jws","reqObj","safeParse","payload","success","error","data","completeUserAuthorizationWithFormPostJwtMode","ctx","wiaCryptoContext","pidCryptoContext","pid","walletInstanceAttestation","wiaWpToken","setProtectedHeader","alg","typ","setPayload","vp","jti","v4","nonce","setIssuedAt","setExpirationTime","setAudience","response_uri","sign","pidWpToken","presentationSubmission","definition_id","id","descriptor_map","path","format","authzResponsePayload","JSON","stringify","state","presentation_submission","vp_token","body","response","resUriRes","headers","reqUri","json","responseUri","redirect_uri","cbRes","decodedJwt","authRes","authResParsed","authErr","error_description"],"sourceRoot":"../../../../src","sources":["credential/issuance/04-complete-user-authorization.ts"],"mappings":"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"}
|
@@ -6,11 +6,12 @@ import { verify as verifySdJwt } from "../../sd-jwt";
|
|
6
6
|
|
7
7
|
// handy alias
|
8
8
|
|
9
|
-
const parseCredentialSdJwt = (credentials_supported, _ref)
|
9
|
+
const parseCredentialSdJwt = function (credentials_supported, _ref) {
|
10
10
|
let {
|
11
11
|
sdJwt,
|
12
12
|
disclosures
|
13
13
|
} = _ref;
|
14
|
+
let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
14
15
|
const credentialSubject = credentials_supported[sdJwt.payload.vct];
|
15
16
|
if (!credentialSubject) {
|
16
17
|
throw new IoWalletError("Credential type not supported by the issuer");
|
@@ -20,6 +21,10 @@ const parseCredentialSdJwt = (credentials_supported, _ref) => {
|
|
20
21
|
}
|
21
22
|
|
22
23
|
// transfrom a record { key: value } in an iterable of pairs [key, value]
|
24
|
+
if (!credentialSubject.claims) {
|
25
|
+
throw new IoWalletError("Missing claims in the credential subject"); // TODO [SIW-1268]: should not be optional
|
26
|
+
}
|
27
|
+
|
23
28
|
const attrDefinitions = Object.entries(credentialSubject.claims);
|
24
29
|
|
25
30
|
// the key of the attribute defintion must match the disclosure's name
|
@@ -33,7 +38,9 @@ const parseCredentialSdJwt = (credentials_supported, _ref) => {
|
|
33
38
|
if (attrsNotInDisclosures.length > 0) {
|
34
39
|
const missing = attrsNotInDisclosures.map(_ => _[0 /* key */]).join(", ");
|
35
40
|
const received = disclosures.map(_ => _[1 /* name */]).join(", ");
|
36
|
-
|
41
|
+
if (!ignoreMissingAttributes) {
|
42
|
+
throw new IoWalletError(`Some attributes are missing in the credential. Missing: [${missing}], received: [${received}]`);
|
43
|
+
}
|
37
44
|
}
|
38
45
|
|
39
46
|
// attributes that are defined in the issuer configuration
|
@@ -117,10 +124,11 @@ async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingCon
|
|
117
124
|
|
118
125
|
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, _, _ref8) => {
|
119
126
|
let {
|
120
|
-
credentialCryptoContext
|
127
|
+
credentialCryptoContext,
|
128
|
+
ignoreMissingAttributes
|
121
129
|
} = _ref8;
|
122
130
|
const decoded = await verifyCredentialSdJwt(credential, issuerConf.openid_credential_issuer.jwks.keys, credentialCryptoContext);
|
123
|
-
const parsedCredential = parseCredentialSdJwt(issuerConf.openid_credential_issuer.credential_configurations_supported, decoded);
|
131
|
+
const parsedCredential = parseCredentialSdJwt(issuerConf.openid_credential_issuer.credential_configurations_supported, decoded, ignoreMissingAttributes);
|
124
132
|
return {
|
125
133
|
parsedCredential
|
126
134
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["IoWalletError","SdJwt4VC","verify","verifySdJwt","parseCredentialSdJwt","credentials_supported","_ref","sdJwt","disclosures","credentialSubject","payload","vct","format","header","typ","attrDefinitions","Object","entries","
|
1
|
+
{"version":3,"names":["IoWalletError","SdJwt4VC","verify","verifySdJwt","parseCredentialSdJwt","credentials_supported","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","credentialSubject","payload","vct","format","header","typ","claims","attrDefinitions","Object","entries","attrsNotInDisclosures","filter","_ref2","attrKey","some","_ref3","name","missing","map","_","join","received","definedValues","fromEntries","_ref4","_disclosures$find","definition","value","find","_ref5","display","reduce","names","_ref6","locale","undefinedValues","keys","includes","_ref7","key","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","getPublicKey","cnf","jwk","kid","verifyAndParseCredentialSdJwt","issuerConf","credential","_ref8","credentialCryptoContext","decoded","openid_credential_issuer","jwks","parsedCredential","credential_configurations_supported","verifyAndParseCredential","context"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { evaluateIssuerTrust } from "./02-evaluate-issuer-trust";
|
2
2
|
import { startUserAuthorization } from "./03-start-user-authorization";
|
3
|
-
import { completeUserAuthorizationWithQueryMode,
|
3
|
+
import { completeUserAuthorizationWithQueryMode, completeUserAuthorizationWithFormPostJwtMode, parseAuthroizationResponse, getRequestedCredentialToBePresented } from "./04-complete-user-authorization";
|
4
4
|
import { authorizeAccess } from "./05-authorize-access";
|
5
5
|
import { obtainCredential } from "./06-obtain-credential";
|
6
6
|
import { verifyAndParseCredential } from "./07-verify-and-parse-credential";
|
7
|
-
export { evaluateIssuerTrust, startUserAuthorization, completeUserAuthorizationWithQueryMode, authorizeAccess, obtainCredential, verifyAndParseCredential,
|
7
|
+
export { evaluateIssuerTrust, startUserAuthorization, completeUserAuthorizationWithQueryMode, getRequestedCredentialToBePresented, completeUserAuthorizationWithFormPostJwtMode, authorizeAccess, obtainCredential, verifyAndParseCredential, parseAuthroizationResponse };
|
8
8
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["evaluateIssuerTrust","startUserAuthorization","completeUserAuthorizationWithQueryMode","
|
1
|
+
{"version":3,"names":["evaluateIssuerTrust","startUserAuthorization","completeUserAuthorizationWithQueryMode","completeUserAuthorizationWithFormPostJwtMode","parseAuthroizationResponse","getRequestedCredentialToBePresented","authorizeAccess","obtainCredential","verifyAndParseCredential"],"sourceRoot":"../../../../src","sources":["credential/issuance/index.ts"],"mappings":"AACA,SACEA,mBAAmB,QAEd,4BAA4B;AACnC,SACEC,sBAAsB,QAEjB,+BAA+B;AACtC,SACEC,sCAAsC,EACtCC,4CAA4C,EAC5CC,0BAA0B,EAI1BC,mCAAmC,QAC9B,kCAAkC;AACzC,SAASC,eAAe,QAA8B,uBAAuB;AAC7E,SACEC,gBAAgB,QAEX,wBAAwB;AAC/B,SACEC,wBAAwB,QAEnB,kCAAkC;AAEzC,SACER,mBAAmB,EACnBC,sBAAsB,EACtBC,sCAAsC,EACtCG,mCAAmC,EACnCF,4CAA4C,EAC5CG,eAAe,EACfC,gBAAgB,EAChBC,wBAAwB,EACxBJ,0BAA0B"}
|
@@ -15,4 +15,11 @@ export const CredentialResponse = z.object({
|
|
15
15
|
credential: z.string(),
|
16
16
|
format: SupportedCredentialFormat
|
17
17
|
});
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Shape from parsing a response given by a request uri during the EAA credential issuance flow with response mode "form_post.jwt".
|
21
|
+
*/
|
22
|
+
export const ResponseUriResultShape = z.object({
|
23
|
+
redirect_uri: z.string()
|
24
|
+
});
|
18
25
|
//# sourceMappingURL=types.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["AuthorizationDetail","z","SupportedCredentialFormat","TokenResponse","object","access_token","string","authorization_details","array","c_nonce","c_nonce_expires_in","number","expires_in","token_type","CredentialResponse","credential","format"],"sourceRoot":"../../../../src","sources":["credential/issuance/types.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,iBAAiB;AACrD,OAAO,KAAKC,CAAC,MAAM,KAAK;AACxB,SAASC,yBAAyB,QAAQ,SAAS;AAInD,OAAO,MAAMC,aAAa,GAAGF,CAAC,CAACG,MAAM,CAAC;EACpCC,YAAY,EAAEJ,CAAC,CAACK,MAAM,CAAC,CAAC;EACxBC,qBAAqB,EAAEN,CAAC,CAACO,KAAK,CAACR,mBAAmB,CAAC;EACnDS,OAAO,EAAER,CAAC,CAACK,MAAM,CAAC,CAAC;EACnBI,kBAAkB,EAAET,CAAC,CAACU,MAAM,CAAC,CAAC;EAC9BC,UAAU,EAAEX,CAAC,CAACU,MAAM,CAAC,CAAC;EACtBE,UAAU,EAAEZ,CAAC,CAACK,MAAM,CAAC;AACvB,CAAC,CAAC;AAIF,OAAO,MAAMQ,kBAAkB,GAAGb,CAAC,CAACG,MAAM,CAAC;EACzCK,OAAO,EAAER,CAAC,CAACK,MAAM,CAAC,CAAC;EACnBI,kBAAkB,EAAET,CAAC,CAACU,MAAM,CAAC,CAAC;EAC9BI,UAAU,EAAEd,CAAC,CAACK,MAAM,CAAC,CAAC;EACtBU,MAAM,EAAEd;AACV,CAAC,CAAC"}
|
1
|
+
{"version":3,"names":["AuthorizationDetail","z","SupportedCredentialFormat","TokenResponse","object","access_token","string","authorization_details","array","c_nonce","c_nonce_expires_in","number","expires_in","token_type","CredentialResponse","credential","format","ResponseUriResultShape","redirect_uri"],"sourceRoot":"../../../../src","sources":["credential/issuance/types.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,iBAAiB;AACrD,OAAO,KAAKC,CAAC,MAAM,KAAK;AACxB,SAASC,yBAAyB,QAAQ,SAAS;AAInD,OAAO,MAAMC,aAAa,GAAGF,CAAC,CAACG,MAAM,CAAC;EACpCC,YAAY,EAAEJ,CAAC,CAACK,MAAM,CAAC,CAAC;EACxBC,qBAAqB,EAAEN,CAAC,CAACO,KAAK,CAACR,mBAAmB,CAAC;EACnDS,OAAO,EAAER,CAAC,CAACK,MAAM,CAAC,CAAC;EACnBI,kBAAkB,EAAET,CAAC,CAACU,MAAM,CAAC,CAAC;EAC9BC,UAAU,EAAEX,CAAC,CAACU,MAAM,CAAC,CAAC;EACtBE,UAAU,EAAEZ,CAAC,CAACK,MAAM,CAAC;AACvB,CAAC,CAAC;AAIF,OAAO,MAAMQ,kBAAkB,GAAGb,CAAC,CAACG,MAAM,CAAC;EACzCK,OAAO,EAAER,CAAC,CAACK,MAAM,CAAC,CAAC;EACnBI,kBAAkB,EAAET,CAAC,CAACU,MAAM,CAAC,CAAC;EAC9BI,UAAU,EAAEd,CAAC,CAACK,MAAM,CAAC,CAAC;EACtBU,MAAM,EAAEd;AACV,CAAC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMe,sBAAsB,GAAGhB,CAAC,CAACG,MAAM,CAAC;EAC7Cc,YAAY,EAAEjB,CAAC,CAACK,MAAM,CAAC;AACzB,CAAC,CAAC"}
|
@@ -39,8 +39,9 @@ const CredentialIssuerDisplayMetadata = z.object({
|
|
39
39
|
logo: z.object({
|
40
40
|
url: z.string(),
|
41
41
|
alt_text: z.string()
|
42
|
-
})
|
42
|
+
}).optional() // TODO [SIW-1268]: should not be optional
|
43
43
|
});
|
44
|
+
|
44
45
|
const ClaimsMetadata = z.record(z.object({
|
45
46
|
value_type: z.string(),
|
46
47
|
display: z.array(z.object({
|
@@ -55,7 +56,8 @@ const SupportedCredentialMetadata = z.object({
|
|
55
56
|
format: z.union([z.literal("vc+sd-jwt"), z.literal("vc+mdoc-cbor")]),
|
56
57
|
scope: z.string(),
|
57
58
|
display: z.array(CredentialDisplayMetadata),
|
58
|
-
claims: ClaimsMetadata,
|
59
|
+
claims: ClaimsMetadata.optional(),
|
60
|
+
// TODO [SIW-1268]: should not be optional
|
59
61
|
cryptographic_binding_methods_supported: z.array(z.string()),
|
60
62
|
credential_signing_alg_values_supported: z.array(z.string())
|
61
63
|
});
|
@@ -174,7 +176,7 @@ export const CredentialIssuerEntityConfiguration = BaseEntityConfiguration.and(z
|
|
174
176
|
/** Credential Issuers act as Relying Party
|
175
177
|
when they require the presentation of other credentials.
|
176
178
|
This does not apply for PID issuance, which requires CIE authz. */
|
177
|
-
|
179
|
+
wallet_relying_party: RelyingPartyMetadata.optional()
|
178
180
|
})
|
179
181
|
})
|
180
182
|
}));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["UnixTime","JWK","z","TrustMark","object","id","string","trust_mark","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","contacts","CredentialDisplayMetadata","name","locale","logo","url","alt_text","background_color","text_color","CredentialIssuerDisplayMetadata","ClaimsMetadata","record","value_type","display","SupportedCredentialMetadata","format","union","literal","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","status_attestation_endpoint","credential_configurations_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","token_endpoint","introspection_endpoint","client_registration_types_supported","code_challenge_methods_supported","authorization_details_types_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","request_parameter_supported","boolean","request_uri_parameter_supported","response_types_supported","response_modes_supported","subject_types_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","openid_relying_party","RelyingPartyEntityConfiguration","wallet_relying_party","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration","description"],"sourceRoot":"../../../src","sources":["trust/types.ts"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["UnixTime","JWK","z","TrustMark","object","id","string","trust_mark","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","contacts","CredentialDisplayMetadata","name","locale","logo","url","alt_text","background_color","text_color","CredentialIssuerDisplayMetadata","ClaimsMetadata","record","value_type","display","SupportedCredentialMetadata","format","union","literal","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","status_attestation_endpoint","credential_configurations_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","token_endpoint","introspection_endpoint","client_registration_types_supported","code_challenge_methods_supported","authorization_details_types_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","request_parameter_supported","boolean","request_uri_parameter_supported","response_types_supported","response_modes_supported","subject_types_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","wallet_relying_party","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration","description"],"sourceRoot":"../../../src","sources":["trust/types.ts"],"mappings":"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"}
|
@@ -5,30 +5,39 @@ import { ValidationFailed } from "./errors";
|
|
5
5
|
* Decode a form_post.jwt and return the final JWT.
|
6
6
|
* The formData here is in form_post.jwt format as defined in
|
7
7
|
* JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
8
|
+
<!DOCTYPE html>
|
9
|
+
<html>
|
10
|
+
<head>
|
11
|
+
<meta charset="utf-8" />
|
12
|
+
</head>
|
13
|
+
<body onload="document.forms[0].submit()">
|
14
|
+
<noscript>
|
15
|
+
<p>
|
16
|
+
<strong>Note:</strong> Since your browser does not support JavaScript, you must press the Continue button once to proceed.
|
17
|
+
</p>
|
18
|
+
</noscript>
|
19
|
+
<form action="iowalletexample//cb" method="post">
|
20
|
+
<div>
|
21
|
+
<input type="hidden" name="response" value="somevalue" />
|
22
|
+
</div>
|
23
|
+
<noscript>
|
24
|
+
<div>
|
25
|
+
<input type="submit" value="Continue" />
|
26
|
+
</div>
|
27
|
+
</noscript>
|
28
|
+
</form>
|
29
|
+
</body>
|
30
|
+
</html>
|
22
31
|
*/
|
23
32
|
export const getJwtFromFormPost = async formData => {
|
24
|
-
const formPostRegex = /<input
|
33
|
+
const formPostRegex = /<input[^>]*name="response"[^>]*value="([^"]*)"/i;
|
25
34
|
const lineExpressionRegex = /\r\n|\n\r|\n|\r|\s+/g;
|
26
|
-
const
|
27
|
-
if (
|
28
|
-
const responseJwt =
|
35
|
+
const match = formPostRegex.exec(formData);
|
36
|
+
if (match && match[1]) {
|
37
|
+
const responseJwt = match[1];
|
29
38
|
if (responseJwt) {
|
30
39
|
const jwt = responseJwt.replace(lineExpressionRegex, "");
|
31
|
-
const decodedJwt =
|
40
|
+
const decodedJwt = decodeJwt(jwt);
|
32
41
|
return {
|
33
42
|
jwt,
|
34
43
|
decodedJwt
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["decode","decodeJwt","ValidationFailed","getJwtFromFormPost","formData","formPostRegex","lineExpressionRegex","
|
1
|
+
{"version":3,"names":["decode","decodeJwt","ValidationFailed","getJwtFromFormPost","formData","formPostRegex","lineExpressionRegex","match","exec","responseJwt","jwt","replace","decodedJwt"],"sourceRoot":"../../../src","sources":["utils/decoder.ts"],"mappings":"AAAA,SAASA,MAAM,IAAIC,SAAS,QAAQ,6BAA6B;AAEjE,SAASC,gBAAgB,QAAQ,UAAU;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAG,MAChCC,QAAgB,IAC0C;EAC1D,MAAMC,aAAa,GAAG,iDAAiD;EACvE,MAAMC,mBAAmB,GAAG,sBAAsB;EAElD,MAAMC,KAAK,GAAGF,aAAa,CAACG,IAAI,CAACJ,QAAQ,CAAC;EAC1C,IAAIG,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,EAAE;IACrB,MAAME,WAAW,GAAGF,KAAK,CAAC,CAAC,CAAC;IAE5B,IAAIE,WAAW,EAAE;MACf,MAAMC,GAAG,GAAGD,WAAW,CAACE,OAAO,CAACL,mBAAmB,EAAE,EAAE,CAAC;MACxD,MAAMM,UAAU,GAAGX,SAAS,CAACS,GAAG,CAAC;MACjC,OAAO;QAAEA,GAAG;QAAEE;MAAW,CAAC;IAC5B;EACF;EAEA,MAAM,IAAIV,gBAAgB,CACvB,uDAAsDE,QAAS,EAClE,CAAC;AACH,CAAC"}
|