@mattrglobal/verifier-sdk-web 1.1.1-unstable.153 → 1.1.1-unstable.154

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.
@@ -7,7 +7,7 @@
7
7
  * Do Not Translate or Localize
8
8
  *
9
9
  * Bundle of @mattrglobal/verifier-sdk-web
10
- * Generated: 2025-05-16
10
+ * Generated: 2025-05-18
11
11
  * Version: 1.1.0
12
12
  * Dependencies:
13
13
  *
@@ -1601,22 +1601,27 @@ let _sessionId = undefined;
1601
1601
 
1602
1602
  let _sessionKey = undefined;
1603
1603
 
1604
+ let _sessionTimeoutId = undefined;
1605
+
1604
1606
  const getActiveSession = () => {
1605
1607
  const sessionId = _sessionId;
1606
1608
  const sessionKey = _sessionKey;
1609
+ const sessionTimeoutId = _sessionTimeoutId;
1607
1610
  if (sessionId) {
1608
1611
  return {
1609
1612
  sessionId: sessionId,
1610
- sessionKey: sessionKey
1613
+ sessionKey: sessionKey,
1614
+ sessionTimeoutId: sessionTimeoutId
1611
1615
  };
1612
1616
  }
1613
1617
  return undefined;
1614
1618
  };
1615
1619
 
1616
1620
  const setActiveSession = session => {
1617
- const {sessionId: sessionId, sessionKey: sessionKey} = session;
1621
+ const {sessionId: sessionId, sessionKey: sessionKey, sessionTimeoutId: sessionTimeoutId} = session;
1618
1622
  _sessionId = sessionId;
1619
1623
  _sessionKey = sessionKey;
1624
+ _sessionTimeoutId = sessionTimeoutId;
1620
1625
  const abortController = new AbortController;
1621
1626
  sessionAbortController = abortController;
1622
1627
  return abortController;
@@ -1624,9 +1629,13 @@ const setActiveSession = session => {
1624
1629
 
1625
1630
  const removeActiveSession = () => {
1626
1631
  sessionAbortController === null || sessionAbortController === void 0 ? void 0 : sessionAbortController.abort();
1632
+ if (_sessionTimeoutId) {
1633
+ window.clearTimeout(_sessionTimeoutId);
1634
+ }
1627
1635
  sessionAbortController = undefined;
1628
1636
  _sessionKey = undefined;
1629
1637
  _sessionId = undefined;
1638
+ _sessionTimeoutId = undefined;
1630
1639
  };
1631
1640
 
1632
1641
  var isMobile_1 = isMobile;
@@ -1938,25 +1947,50 @@ const requestCredentialsWithCrossDevice = async options => {
1938
1947
  }));
1939
1948
  };
1940
1949
 
1950
+ const abortCredentialRequest = async () => {
1951
+ const initialiseOptions = getInitialiseOptions();
1952
+ if (!initialiseOptions) {
1953
+ throw new Exception(InitialiseErrorMessage.SdkNotInitialised);
1954
+ }
1955
+ const {apiBaseUrl: apiBaseUrl} = initialiseOptions;
1956
+ const session = getActiveSession();
1957
+ if (!session || !session.sessionKey) {
1958
+ return ok(undefined);
1959
+ }
1960
+ const {sessionId: sessionId, sessionKey: sessionKey} = session;
1961
+ removeActiveSession();
1962
+ const abortSessionResult = await abortSession({
1963
+ apiBaseUrl: apiBaseUrl,
1964
+ sessionId: sessionId,
1965
+ sessionKey: sessionKey
1966
+ });
1967
+ if (abortSessionResult.isErr()) {
1968
+ return err({
1969
+ type: exports.AbortSessionErrorType.AbortSessionFailed,
1970
+ message: AbortSessionErrorMessage.FailedToAbortSession,
1971
+ cause: abortSessionResult.error
1972
+ });
1973
+ }
1974
+ return ok(undefined);
1975
+ };
1976
+
1941
1977
  const requestCredentialsWithDigitalCredentialsApi = async options => {
1942
- const {apiBaseUrl: apiBaseUrl, sessionId: sessionId, sessionKey: sessionKey, challenge: challenge, request: request} = options;
1943
- const credentialResponseResult = await getCredentials(request);
1978
+ const {apiBaseUrl: apiBaseUrl, sessionId: sessionId, sessionKey: sessionKey, challenge: challenge, request: request, sessionTtl: sessionTtl} = options;
1979
+ const sessionTimeoutId = window.setTimeout((() => removeActiveSession()), sessionTtl * 1e3);
1980
+ const abortController = setActiveSession({
1981
+ sessionId: sessionId,
1982
+ sessionKey: sessionKey,
1983
+ sessionTimeoutId: sessionTimeoutId
1984
+ });
1985
+ const credentialResponseResult = await getCredentials(request, abortController);
1944
1986
  if (credentialResponseResult.isErr()) {
1945
- await abortSession({
1946
- apiBaseUrl: apiBaseUrl,
1947
- sessionId: sessionId,
1948
- sessionKey: sessionKey
1949
- });
1987
+ await abortCredentialRequest();
1950
1988
  return err(credentialResponseResult.error);
1951
1989
  }
1952
1990
  const credentialResponse = credentialResponseResult.value;
1953
1991
  const parsedCredentialResponseResult = parseCredentialResponse(credentialResponse);
1954
1992
  if (parsedCredentialResponseResult.isErr()) {
1955
- await abortSession({
1956
- apiBaseUrl: apiBaseUrl,
1957
- sessionId: sessionId,
1958
- sessionKey: sessionKey
1959
- });
1993
+ await abortCredentialRequest();
1960
1994
  return err(parsedCredentialResponseResult.error);
1961
1995
  }
1962
1996
  const parsedCredentialResponse = parsedCredentialResponseResult.value;
@@ -1978,9 +2012,11 @@ const requestCredentialsWithDigitalCredentialsApi = async options => {
1978
2012
  return ok(credentialVerificationResult.value);
1979
2013
  };
1980
2014
 
1981
- const getCredentials = async request => {
2015
+ const getCredentials = async (request, abortController) => {
1982
2016
  try {
1983
- const credentialResponse = await navigator.credentials.get(request);
2017
+ const credentialResponse = await navigator.credentials.get(Object.assign(Object.assign({}, request), {
2018
+ signal: abortController.signal
2019
+ }));
1984
2020
  return ok(credentialResponse);
1985
2021
  } catch (exception) {
1986
2022
  return err({
@@ -2158,13 +2194,14 @@ const requestCredentials = async options => {
2158
2194
  const session = createSessionResult.value;
2159
2195
  const {sessionKey: sessionKey, sessionId: sessionId} = session;
2160
2196
  if (session.type === SessionType.DigitalCredentialsApi) {
2161
- const {request: request} = session;
2197
+ const {request: request, sessionTtl: sessionTtl} = session;
2162
2198
  return await requestCredentialsWithDigitalCredentialsApi({
2163
2199
  apiBaseUrl: apiBaseUrl,
2164
2200
  request: request,
2165
2201
  sessionId: sessionId,
2166
2202
  sessionKey: sessionKey,
2167
- challenge: challenge
2203
+ challenge: challenge,
2204
+ sessionTtl: sessionTtl
2168
2205
  });
2169
2206
  }
2170
2207
  if (!openid4vpConfiguration) {
@@ -2264,33 +2301,6 @@ const handleRedirectCallback = async () => {
2264
2301
  });
2265
2302
  };
2266
2303
 
2267
- const abortCredentialRequest = async () => {
2268
- const initialiseOptions = getInitialiseOptions();
2269
- if (!initialiseOptions) {
2270
- throw new Exception(InitialiseErrorMessage.SdkNotInitialised);
2271
- }
2272
- const {apiBaseUrl: apiBaseUrl} = initialiseOptions;
2273
- const session = getActiveSession();
2274
- if (!session || !session.sessionKey) {
2275
- return ok(undefined);
2276
- }
2277
- const {sessionId: sessionId, sessionKey: sessionKey} = session;
2278
- removeActiveSession();
2279
- const abortSessionResult = await abortSession({
2280
- apiBaseUrl: apiBaseUrl,
2281
- sessionId: sessionId,
2282
- sessionKey: sessionKey
2283
- });
2284
- if (abortSessionResult.isErr()) {
2285
- return err({
2286
- type: exports.AbortSessionErrorType.AbortSessionFailed,
2287
- message: AbortSessionErrorMessage.FailedToAbortSession,
2288
- cause: abortSessionResult.error
2289
- });
2290
- }
2291
- return ok(undefined);
2292
- };
2293
-
2294
2304
  const utils = {
2295
2305
  generateChallenge: generateChallenge,
2296
2306
  getVersion: getVersion,