@bifold/core 3.0.0 → 3.0.2
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/components/animated/LoadingSpinner.js +5 -4
- package/lib/commonjs/components/animated/LoadingSpinner.js.map +1 -1
- package/lib/commonjs/components/buttons/Button.js +2 -6
- package/lib/commonjs/components/buttons/Button.js.map +1 -1
- package/lib/commonjs/components/inputs/BiometryControl.js +29 -5
- package/lib/commonjs/components/inputs/BiometryControl.js.map +1 -1
- package/lib/commonjs/components/listItems/NotificationListItem.js +5 -1
- package/lib/commonjs/components/listItems/NotificationListItem.js.map +1 -1
- package/lib/commonjs/components/modals/ConfirmPINModal.js +0 -1
- package/lib/commonjs/components/modals/ConfirmPINModal.js.map +1 -1
- package/lib/commonjs/components/record/Record.js +11 -5
- package/lib/commonjs/components/record/Record.js.map +1 -1
- package/lib/commonjs/components/views/HomeFooterView.js +3 -2
- package/lib/commonjs/components/views/HomeFooterView.js.map +1 -1
- package/lib/commonjs/components/views/KeyboardView.js +5 -3
- package/lib/commonjs/components/views/KeyboardView.js.map +1 -1
- package/lib/commonjs/components/views/ScreenWrapper.js +9 -5
- package/lib/commonjs/components/views/ScreenWrapper.js.map +1 -1
- package/lib/commonjs/constants.js +2 -0
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/container-api.js +8 -2
- package/lib/commonjs/container-api.js.map +1 -1
- package/lib/commonjs/container-impl.js +9 -3
- package/lib/commonjs/container-impl.js.map +1 -1
- package/lib/commonjs/contexts/auth.js +47 -45
- package/lib/commonjs/contexts/auth.js.map +1 -1
- package/lib/commonjs/contexts/reducers/store.js +16 -1
- package/lib/commonjs/contexts/reducers/store.js.map +1 -1
- package/lib/commonjs/contexts/store.js +3 -0
- package/lib/commonjs/contexts/store.js.map +1 -1
- package/lib/commonjs/hooks/attestation.js +83 -0
- package/lib/commonjs/hooks/attestation.js.map +1 -0
- package/lib/commonjs/hooks/notifications.js +4 -2
- package/lib/commonjs/hooks/notifications.js.map +1 -1
- package/lib/commonjs/hooks/useBifoldAgentSetup.js +5 -13
- package/lib/commonjs/hooks/useBifoldAgentSetup.js.map +1 -1
- package/lib/commonjs/index.js +9 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/localization/en/en.json +11 -1
- package/lib/commonjs/localization/fr/fr.json +11 -1
- package/lib/commonjs/localization/pt-br/pt-br.json +11 -1
- package/lib/commonjs/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
- package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js +86 -48
- package/lib/commonjs/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
- package/lib/commonjs/modules/openid/credentialRecord.js +114 -0
- package/lib/commonjs/modules/openid/credentialRecord.js.map +1 -0
- package/lib/commonjs/modules/openid/display.js +0 -3
- package/lib/commonjs/modules/openid/display.js.map +1 -1
- package/lib/commonjs/modules/openid/displayProof.js +118 -1
- package/lib/commonjs/modules/openid/displayProof.js.map +1 -1
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js +56 -0
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js.map +1 -0
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js +104 -0
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js.map +1 -0
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js +87 -0
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js.map +1 -0
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js +50 -0
- package/lib/commonjs/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js.map +1 -0
- package/lib/commonjs/modules/openid/hooks/openid.js +6 -8
- package/lib/commonjs/modules/openid/hooks/openid.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js +16 -19
- package/lib/commonjs/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js +1 -10
- package/lib/commonjs/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js +1 -1
- package/lib/commonjs/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
- package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
- package/lib/commonjs/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
- package/lib/commonjs/modules/openid/metadata.js +2 -0
- package/lib/commonjs/modules/openid/metadata.js.map +1 -1
- package/lib/commonjs/modules/openid/offerResolve.js +34 -58
- package/lib/commonjs/modules/openid/offerResolve.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/operations.js +37 -0
- package/lib/commonjs/modules/openid/refresh/operations.js.map +1 -0
- package/lib/commonjs/modules/openid/refresh/reIssuance.js +7 -10
- package/lib/commonjs/modules/openid/refresh/reIssuance.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js +60 -63
- package/lib/commonjs/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/refreshToken.js +12 -12
- package/lib/commonjs/modules/openid/refresh/refreshToken.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/registry.js +1 -1
- package/lib/commonjs/modules/openid/refresh/registry.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/types.js +11 -1
- package/lib/commonjs/modules/openid/refresh/types.js.map +1 -1
- package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js +6 -6
- package/lib/commonjs/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
- package/lib/commonjs/modules/openid/resolverProof.js +114 -124
- package/lib/commonjs/modules/openid/resolverProof.js.map +1 -1
- package/lib/commonjs/modules/openid/screens/OpenIDConnection.js +14 -25
- package/lib/commonjs/modules/openid/screens/OpenIDConnection.js.map +1 -1
- package/lib/commonjs/modules/openid/screens/OpenIDCredentialDetails.js +5 -2
- package/lib/commonjs/modules/openid/screens/OpenIDCredentialDetails.js.map +1 -1
- package/lib/commonjs/modules/openid/screens/OpenIDProofChangeCredential.js +6 -11
- package/lib/commonjs/modules/openid/screens/OpenIDProofChangeCredential.js.map +1 -1
- package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js +45 -188
- package/lib/commonjs/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
- package/lib/commonjs/modules/openid/types.js.map +1 -1
- package/lib/commonjs/navigators/DeliveryStack.js +2 -1
- package/lib/commonjs/navigators/DeliveryStack.js.map +1 -1
- package/lib/commonjs/navigators/TabStack.js +5 -3
- package/lib/commonjs/navigators/TabStack.js.map +1 -1
- package/lib/commonjs/navigators/defaultLayoutOptions.js +2 -1
- package/lib/commonjs/navigators/defaultLayoutOptions.js.map +1 -1
- package/lib/commonjs/navigators/defaultStackOptions.js +1 -1
- package/lib/commonjs/navigators/defaultStackOptions.js.map +1 -1
- package/lib/commonjs/onboarding.js +6 -3
- package/lib/commonjs/onboarding.js.map +1 -1
- package/lib/commonjs/screens/Connection.js +9 -28
- package/lib/commonjs/screens/Connection.js.map +1 -1
- package/lib/commonjs/screens/Home.js +1 -1
- package/lib/commonjs/screens/Home.js.map +1 -1
- package/lib/commonjs/screens/ListCredentials.js +8 -2
- package/lib/commonjs/screens/ListCredentials.js.map +1 -1
- package/lib/commonjs/screens/Settings.js +1 -1
- package/lib/commonjs/screens/Settings.js.map +1 -1
- package/lib/commonjs/screens/Splash.js +21 -2
- package/lib/commonjs/screens/Splash.js.map +1 -1
- package/lib/commonjs/theme.js +2 -1
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/commonjs/utils/agent.js +13 -3
- package/lib/commonjs/utils/agent.js.map +1 -1
- package/lib/commonjs/utils/helpers.js +0 -2
- package/lib/commonjs/utils/helpers.js.map +1 -1
- package/lib/commonjs/utils/network.js +16 -0
- package/lib/commonjs/utils/network.js.map +1 -1
- package/lib/commonjs/wallet/map-to-card.js +2 -2
- package/lib/commonjs/wallet/map-to-card.js.map +1 -1
- package/lib/module/components/animated/LoadingSpinner.js +4 -3
- package/lib/module/components/animated/LoadingSpinner.js.map +1 -1
- package/lib/module/components/buttons/Button.js +4 -7
- package/lib/module/components/buttons/Button.js.map +1 -1
- package/lib/module/components/inputs/BiometryControl.js +30 -6
- package/lib/module/components/inputs/BiometryControl.js.map +1 -1
- package/lib/module/components/listItems/NotificationListItem.js +5 -1
- package/lib/module/components/listItems/NotificationListItem.js.map +1 -1
- package/lib/module/components/modals/ConfirmPINModal.js +0 -1
- package/lib/module/components/modals/ConfirmPINModal.js.map +1 -1
- package/lib/module/components/record/Record.js +12 -6
- package/lib/module/components/record/Record.js.map +1 -1
- package/lib/module/components/views/HomeFooterView.js +3 -2
- package/lib/module/components/views/HomeFooterView.js.map +1 -1
- package/lib/module/components/views/KeyboardView.js +6 -4
- package/lib/module/components/views/KeyboardView.js.map +1 -1
- package/lib/module/components/views/ScreenWrapper.js +9 -5
- package/lib/module/components/views/ScreenWrapper.js.map +1 -1
- package/lib/module/constants.js +2 -0
- package/lib/module/constants.js.map +1 -1
- package/lib/module/container-api.js +7 -1
- package/lib/module/container-api.js.map +1 -1
- package/lib/module/container-impl.js +9 -3
- package/lib/module/container-impl.js.map +1 -1
- package/lib/module/contexts/auth.js +47 -44
- package/lib/module/contexts/auth.js.map +1 -1
- package/lib/module/contexts/reducers/store.js +16 -1
- package/lib/module/contexts/reducers/store.js.map +1 -1
- package/lib/module/contexts/store.js +3 -0
- package/lib/module/contexts/store.js.map +1 -1
- package/lib/module/hooks/attestation.js +75 -0
- package/lib/module/hooks/attestation.js.map +1 -0
- package/lib/module/hooks/notifications.js +4 -2
- package/lib/module/hooks/notifications.js.map +1 -1
- package/lib/module/hooks/useBifoldAgentSetup.js +5 -13
- package/lib/module/hooks/useBifoldAgentSetup.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/localization/en/en.json +11 -1
- package/lib/module/localization/fr/fr.json +11 -1
- package/lib/module/localization/pt-br/pt-br.json +11 -1
- package/lib/module/modules/openid/components/OpenIDCredentialCard.js.map +1 -1
- package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js +87 -49
- package/lib/module/modules/openid/context/OpenIDCredentialRecordProvider.js.map +1 -1
- package/lib/module/modules/openid/credentialRecord.js +98 -0
- package/lib/module/modules/openid/credentialRecord.js.map +1 -0
- package/lib/module/modules/openid/display.js +0 -3
- package/lib/module/modules/openid/display.js.map +1 -1
- package/lib/module/modules/openid/displayProof.js +116 -1
- package/lib/module/modules/openid/displayProof.js.map +1 -1
- package/lib/module/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js +49 -0
- package/lib/module/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.js.map +1 -0
- package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js +97 -0
- package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.js.map +1 -0
- package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js +80 -0
- package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.js.map +1 -0
- package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js +44 -0
- package/lib/module/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.js.map +1 -0
- package/lib/module/modules/openid/hooks/openid.js +6 -8
- package/lib/module/modules/openid/hooks/openid.js.map +1 -1
- package/lib/module/modules/openid/hooks/useAcceptReplacement.js +16 -19
- package/lib/module/modules/openid/hooks/useAcceptReplacement.js.map +1 -1
- package/lib/module/modules/openid/hooks/useDeclineReplacement.js +2 -11
- package/lib/module/modules/openid/hooks/useDeclineReplacement.js.map +1 -1
- package/lib/module/modules/openid/hooks/useExpiredNotifications.js +1 -1
- package/lib/module/modules/openid/hooks/useExpiredNotifications.js.map +1 -1
- package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js +8 -42
- package/lib/module/modules/openid/hooks/useUpgradeExpiredCredential.js.map +1 -1
- package/lib/module/modules/openid/metadata.js +3 -1
- package/lib/module/modules/openid/metadata.js.map +1 -1
- package/lib/module/modules/openid/offerResolve.js +34 -58
- package/lib/module/modules/openid/offerResolve.js.map +1 -1
- package/lib/module/modules/openid/refresh/operations.js +31 -0
- package/lib/module/modules/openid/refresh/operations.js.map +1 -0
- package/lib/module/modules/openid/refresh/reIssuance.js +7 -10
- package/lib/module/modules/openid/refresh/reIssuance.js.map +1 -1
- package/lib/module/modules/openid/refresh/refreshOrchestrator.js +62 -64
- package/lib/module/modules/openid/refresh/refreshOrchestrator.js.map +1 -1
- package/lib/module/modules/openid/refresh/refreshToken.js +12 -12
- package/lib/module/modules/openid/refresh/refreshToken.js.map +1 -1
- package/lib/module/modules/openid/refresh/registry.js +1 -1
- package/lib/module/modules/openid/refresh/registry.js.map +1 -1
- package/lib/module/modules/openid/refresh/types.js +11 -0
- package/lib/module/modules/openid/refresh/types.js.map +1 -1
- package/lib/module/modules/openid/refresh/verifyCredentialStatus.js +6 -6
- package/lib/module/modules/openid/refresh/verifyCredentialStatus.js.map +1 -1
- package/lib/module/modules/openid/resolverProof.js +115 -121
- package/lib/module/modules/openid/resolverProof.js.map +1 -1
- package/lib/module/modules/openid/screens/OpenIDConnection.js +14 -25
- package/lib/module/modules/openid/screens/OpenIDConnection.js.map +1 -1
- package/lib/module/modules/openid/screens/OpenIDCredentialDetails.js +5 -2
- package/lib/module/modules/openid/screens/OpenIDCredentialDetails.js.map +1 -1
- package/lib/module/modules/openid/screens/OpenIDProofChangeCredential.js +6 -11
- package/lib/module/modules/openid/screens/OpenIDProofChangeCredential.js.map +1 -1
- package/lib/module/modules/openid/screens/OpenIDProofPresentation.js +47 -191
- package/lib/module/modules/openid/screens/OpenIDProofPresentation.js.map +1 -1
- package/lib/module/modules/openid/types.js.map +1 -1
- package/lib/module/navigators/DeliveryStack.js +2 -1
- package/lib/module/navigators/DeliveryStack.js.map +1 -1
- package/lib/module/navigators/TabStack.js +5 -3
- package/lib/module/navigators/TabStack.js.map +1 -1
- package/lib/module/navigators/defaultLayoutOptions.js +2 -1
- package/lib/module/navigators/defaultLayoutOptions.js.map +1 -1
- package/lib/module/navigators/defaultStackOptions.js +1 -1
- package/lib/module/navigators/defaultStackOptions.js.map +1 -1
- package/lib/module/onboarding.js +6 -3
- package/lib/module/onboarding.js.map +1 -1
- package/lib/module/screens/Connection.js +9 -28
- package/lib/module/screens/Connection.js.map +1 -1
- package/lib/module/screens/Home.js +1 -1
- package/lib/module/screens/Home.js.map +1 -1
- package/lib/module/screens/ListCredentials.js +9 -3
- package/lib/module/screens/ListCredentials.js.map +1 -1
- package/lib/module/screens/Settings.js +1 -1
- package/lib/module/screens/Settings.js.map +1 -1
- package/lib/module/screens/Splash.js +21 -2
- package/lib/module/screens/Splash.js.map +1 -1
- package/lib/module/theme.js +2 -1
- package/lib/module/theme.js.map +1 -1
- package/lib/module/utils/agent.js +13 -4
- package/lib/module/utils/agent.js.map +1 -1
- package/lib/module/utils/helpers.js +0 -2
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/module/utils/network.js +15 -0
- package/lib/module/utils/network.js.map +1 -1
- package/lib/module/wallet/map-to-card.js +3 -3
- package/lib/module/wallet/map-to-card.js.map +1 -1
- package/lib/typescript/src/components/animated/LoadingSpinner.d.ts +2 -1
- package/lib/typescript/src/components/animated/LoadingSpinner.d.ts.map +1 -1
- package/lib/typescript/src/components/buttons/Button.d.ts +3 -2
- package/lib/typescript/src/components/buttons/Button.d.ts.map +1 -1
- package/lib/typescript/src/components/inputs/BiometryControl.d.ts.map +1 -1
- package/lib/typescript/src/components/listItems/NotificationListItem.d.ts.map +1 -1
- package/lib/typescript/src/components/modals/ConfirmPINModal.d.ts.map +1 -1
- package/lib/typescript/src/components/record/Record.d.ts +1 -0
- package/lib/typescript/src/components/record/Record.d.ts.map +1 -1
- package/lib/typescript/src/components/views/HomeFooterView.d.ts.map +1 -1
- package/lib/typescript/src/components/views/KeyboardView.d.ts +3 -2
- package/lib/typescript/src/components/views/KeyboardView.d.ts.map +1 -1
- package/lib/typescript/src/components/views/ScreenWrapper.d.ts +5 -1
- package/lib/typescript/src/components/views/ScreenWrapper.d.ts.map +1 -1
- package/lib/typescript/src/constants.d.ts +3 -1
- package/lib/typescript/src/constants.d.ts.map +1 -1
- package/lib/typescript/src/container-api.d.ts +12 -0
- package/lib/typescript/src/container-api.d.ts.map +1 -1
- package/lib/typescript/src/container-impl.d.ts +3 -0
- package/lib/typescript/src/container-impl.d.ts.map +1 -1
- package/lib/typescript/src/contexts/auth.d.ts +0 -1
- package/lib/typescript/src/contexts/auth.d.ts.map +1 -1
- package/lib/typescript/src/contexts/reducers/store.d.ts +5 -1
- package/lib/typescript/src/contexts/reducers/store.d.ts.map +1 -1
- package/lib/typescript/src/contexts/store.d.ts.map +1 -1
- package/lib/typescript/src/hooks/attestation.d.ts +4 -0
- package/lib/typescript/src/hooks/attestation.d.ts.map +1 -0
- package/lib/typescript/src/hooks/notifications.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useBifoldAgentSetup.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts +2 -2
- package/lib/typescript/src/modules/openid/components/OpenIDCredentialCard.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts +7 -6
- package/lib/typescript/src/modules/openid/context/OpenIDCredentialRecordProvider.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/credentialRecord.d.ts +19 -0
- package/lib/typescript/src/modules/openid/credentialRecord.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/display.d.ts +2 -3
- package/lib/typescript/src/modules/openid/display.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/displayProof.d.ts +4 -29
- package/lib/typescript/src/modules/openid/displayProof.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.d.ts +23 -0
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/OpenIDProofRequestDisplay.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.d.ts +13 -0
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestBody.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.d.ts +14 -0
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestFooter.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.d.ts +9 -0
- package/lib/typescript/src/modules/openid/features/OpenIDProofPresentation/components/OpenIDProofRequestHeader.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/hooks/openid.d.ts +2 -2
- package/lib/typescript/src/modules/openid/hooks/openid.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts +2 -4
- package/lib/typescript/src/modules/openid/hooks/useAcceptReplacement.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/hooks/useDeclineReplacement.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/hooks/useUpgradeExpiredCredential.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/metadata.d.ts +9 -8
- package/lib/typescript/src/modules/openid/metadata.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/offerResolve.d.ts +9 -15
- package/lib/typescript/src/modules/openid/offerResolve.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/refresh/operations.d.ts +13 -0
- package/lib/typescript/src/modules/openid/refresh/operations.d.ts.map +1 -0
- package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts +4 -7
- package/lib/typescript/src/modules/openid/refresh/reIssuance.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts +3 -5
- package/lib/typescript/src/modules/openid/refresh/refreshOrchestrator.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts +3 -2
- package/lib/typescript/src/modules/openid/refresh/refreshToken.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/refresh/types.d.ts +15 -4
- package/lib/typescript/src/modules/openid/refresh/types.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts +2 -2
- package/lib/typescript/src/modules/openid/refresh/verifyCredentialStatus.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/resolverProof.d.ts +32 -30
- package/lib/typescript/src/modules/openid/resolverProof.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/screens/OpenIDConnection.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/screens/OpenIDCredentialDetails.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/screens/OpenIDProofChangeCredential.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/screens/OpenIDProofPresentation.d.ts.map +1 -1
- package/lib/typescript/src/modules/openid/types.d.ts +34 -4
- package/lib/typescript/src/modules/openid/types.d.ts.map +1 -1
- package/lib/typescript/src/navigators/defaultLayoutOptions.d.ts.map +1 -1
- package/lib/typescript/src/onboarding.d.ts +1 -1
- package/lib/typescript/src/onboarding.d.ts.map +1 -1
- package/lib/typescript/src/screens/Connection.d.ts.map +1 -1
- package/lib/typescript/src/screens/Home.d.ts.map +1 -1
- package/lib/typescript/src/screens/ListCredentials.d.ts.map +1 -1
- package/lib/typescript/src/screens/Splash.d.ts.map +1 -1
- package/lib/typescript/src/theme.d.ts +1 -0
- package/lib/typescript/src/theme.d.ts.map +1 -1
- package/lib/typescript/src/types/config.d.ts +1 -0
- package/lib/typescript/src/types/config.d.ts.map +1 -1
- package/lib/typescript/src/types/credentials.d.ts +2 -2
- package/lib/typescript/src/types/credentials.d.ts.map +1 -1
- package/lib/typescript/src/types/state.d.ts +4 -0
- package/lib/typescript/src/types/state.d.ts.map +1 -1
- package/lib/typescript/src/utils/agent.d.ts +7 -3
- package/lib/typescript/src/utils/agent.d.ts.map +1 -1
- package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
- package/lib/typescript/src/utils/network.d.ts +1 -0
- package/lib/typescript/src/utils/network.d.ts.map +1 -1
- package/lib/typescript/src/wallet/map-to-card.d.ts.map +1 -1
- package/package.json +30 -29
|
@@ -6,23 +6,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useAcceptReplacement = useAcceptReplacement;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _containerApi = require("../../../container-api");
|
|
9
|
+
var _agent = require("../../../utils/agent");
|
|
9
10
|
var _OpenIDCredentialRecordProvider = require("../context/OpenIDCredentialRecordProvider");
|
|
10
11
|
var _registry = require("../refresh/registry");
|
|
11
|
-
var
|
|
12
|
-
// modules/openid/hooks/useAcceptReplacement.ts
|
|
13
|
-
|
|
14
|
-
const sleep = ms => new Promise(res => setTimeout(res, ms));
|
|
12
|
+
var _credentialRecord = require("../credentialRecord");
|
|
15
13
|
/**
|
|
16
14
|
* A hook that provides functions to accept newly issued credentials, handling replacements if applicable.
|
|
17
15
|
*/
|
|
18
16
|
|
|
19
17
|
function useAcceptReplacement() {
|
|
20
18
|
const {
|
|
21
|
-
|
|
22
|
-
removeCredential,
|
|
23
|
-
getW3CCredentialById,
|
|
24
|
-
getSdJwtCredentialById
|
|
19
|
+
getCredentialById
|
|
25
20
|
} = (0, _OpenIDCredentialRecordProvider.useOpenIDCredentials)();
|
|
21
|
+
const {
|
|
22
|
+
agent
|
|
23
|
+
} = (0, _agent.useAppAgent)();
|
|
26
24
|
const [logger] = (0, _containerApi.useServices)([_containerApi.TOKENS.UTIL_LOGGER]);
|
|
27
25
|
|
|
28
26
|
/**
|
|
@@ -32,10 +30,13 @@ function useAcceptReplacement() {
|
|
|
32
30
|
* 3) update the registry (acceptReplacement)
|
|
33
31
|
*/
|
|
34
32
|
const acceptNewCredential = (0, _react.useCallback)(async newCred => {
|
|
33
|
+
if (!agent) {
|
|
34
|
+
throw new Error('Agent not ready');
|
|
35
|
+
}
|
|
35
36
|
logger.info(`🟢 [useAcceptReplacement] accepting new credential → ${newCred.id}`);
|
|
36
37
|
|
|
37
38
|
// 1) persist new
|
|
38
|
-
await
|
|
39
|
+
await (0, _credentialRecord.storeOpenIDCredential)(agent, newCred);
|
|
39
40
|
|
|
40
41
|
// 2) check if it replaces an old credential
|
|
41
42
|
const oldId = (0, _registry.selectOldIdByReplacementId)(newCred.id);
|
|
@@ -44,36 +45,32 @@ function useAcceptReplacement() {
|
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
// 3) fetch old
|
|
48
|
-
const oldRecord = await
|
|
48
|
+
// 3) fetch old record across OpenID credential stores
|
|
49
|
+
const oldRecord = await (0, _credentialRecord.findOpenIDCredentialById)(agent, oldId);
|
|
49
50
|
if (!oldRecord) {
|
|
50
51
|
logger.warn(`⚠️ [useAcceptReplacement] old record ${oldId} not found — skipping delete`);
|
|
51
52
|
// still accept swap in registry to avoid stuck state
|
|
52
53
|
_registry.credentialRegistry.getState().acceptReplacement(oldId);
|
|
53
54
|
return;
|
|
54
55
|
}
|
|
55
|
-
await sleep(200);
|
|
56
56
|
|
|
57
57
|
// 4) delete old
|
|
58
|
-
await
|
|
58
|
+
await (0, _credentialRecord.deleteOpenIDCredential)(agent, oldRecord);
|
|
59
59
|
|
|
60
60
|
// 5) finalize the swap in registry
|
|
61
61
|
_registry.credentialRegistry.getState().acceptReplacement(oldId);
|
|
62
62
|
logger.info(`✅ [useAcceptReplacement] replacement complete: old=${oldId} → new=${newCred.id}`);
|
|
63
|
-
}, [
|
|
63
|
+
}, [agent, logger]);
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* Convenience: accept by new credential id (fetch via provider first).
|
|
67
67
|
* Useful if your screen only carries the new id.
|
|
68
68
|
*/
|
|
69
69
|
const acceptById = (0, _react.useCallback)(async newId => {
|
|
70
|
-
|
|
71
|
-
const newW3c = await getW3CCredentialById(newId);
|
|
72
|
-
const newSd = newW3c ? undefined : await getSdJwtCredentialById(newId);
|
|
73
|
-
const rec = newW3c ?? newSd;
|
|
70
|
+
const rec = await getCredentialById(newId);
|
|
74
71
|
if (!rec) throw new Error(`New credential not found for id=${newId}`);
|
|
75
72
|
await acceptNewCredential(rec);
|
|
76
|
-
}, [
|
|
73
|
+
}, [getCredentialById, acceptNewCredential]);
|
|
77
74
|
return {
|
|
78
75
|
acceptNewCredential,
|
|
79
76
|
acceptById
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_containerApi","
|
|
1
|
+
{"version":3,"names":["_react","require","_containerApi","_agent","_OpenIDCredentialRecordProvider","_registry","_credentialRecord","useAcceptReplacement","getCredentialById","useOpenIDCredentials","agent","useAppAgent","logger","useServices","TOKENS","UTIL_LOGGER","acceptNewCredential","useCallback","newCred","Error","info","id","storeOpenIDCredential","oldId","selectOldIdByReplacementId","oldRecord","findOpenIDCredentialById","warn","credentialRegistry","getState","acceptReplacement","deleteOpenIDCredential","acceptById","newId","rec"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useAcceptReplacement.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,+BAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAMA;AACA;AACA;;AAEO,SAASM,oBAAoBA,CAAA,EAAG;EACrC,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,oDAAoB,EAAC,CAAC;EACpD,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,kBAAW,EAAC,CAAC;EAC/B,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAC,yBAAW,EAAC,CAACC,oBAAM,CAACC,WAAW,CAAC,CAAC;;EAElD;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,mBAAmB,GAAG,IAAAC,kBAAW,EACrC,MAAOC,OAA+B,IAAK;IACzC,IAAI,CAACR,KAAK,EAAE;MACV,MAAM,IAAIS,KAAK,CAAC,iBAAiB,CAAC;IACpC;IAEAP,MAAM,CAACQ,IAAI,CAAC,wDAAwDF,OAAO,CAACG,EAAE,EAAE,CAAC;;IAEjF;IACA,MAAM,IAAAC,uCAAqB,EAACZ,KAAK,EAAEQ,OAAO,CAAC;;IAE3C;IACA,MAAMK,KAAK,GAAG,IAAAC,oCAA0B,EAACN,OAAO,CAACG,EAAE,CAAC;IACpD,IAAI,CAACE,KAAK,EAAE;MACVX,MAAM,CAACQ,IAAI,CAAC,wDAAwDF,OAAO,CAACG,EAAE,SAAS,CAAC;MACxF;IACF;;IAEA;IACA,MAAMI,SAAS,GAAG,MAAM,IAAAC,0CAAwB,EAAChB,KAAK,EAAEa,KAAK,CAAC;IAE9D,IAAI,CAACE,SAAS,EAAE;MACdb,MAAM,CAACe,IAAI,CAAC,wCAAwCJ,KAAK,8BAA8B,CAAC;MACxF;MACAK,4BAAkB,CAACC,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAACP,KAAK,CAAC;MACtD;IACF;;IAEA;IACA,MAAM,IAAAQ,wCAAsB,EAACrB,KAAK,EAAEe,SAAS,CAAC;;IAE9C;IACAG,4BAAkB,CAACC,QAAQ,CAAC,CAAC,CAACC,iBAAiB,CAACP,KAAK,CAAC;IAEtDX,MAAM,CAACQ,IAAI,CAAC,sDAAsDG,KAAK,UAAUL,OAAO,CAACG,EAAE,EAAE,CAAC;EAChG,CAAC,EACD,CAACX,KAAK,EAAEE,MAAM,CAChB,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMoB,UAAU,GAAG,IAAAf,kBAAW,EAC5B,MAAOgB,KAAa,IAAK;IACvB,MAAMC,GAAG,GAAG,MAAM1B,iBAAiB,CAACyB,KAAK,CAAC;IAC1C,IAAI,CAACC,GAAG,EAAE,MAAM,IAAIf,KAAK,CAAC,mCAAmCc,KAAK,EAAE,CAAC;IACrE,MAAMjB,mBAAmB,CAACkB,GAAG,CAAC;EAChC,CAAC,EACD,CAAC1B,iBAAiB,EAAEQ,mBAAmB,CACzC,CAAC;EAED,OAAO;IAAEA,mBAAmB;IAAEgB;EAAW,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -8,15 +8,6 @@ var _react = require("react");
|
|
|
8
8
|
var _registry = require("../refresh/registry");
|
|
9
9
|
// modules/openid/hooks/useDeclineReplacement.ts
|
|
10
10
|
|
|
11
|
-
function findOldIdByNewId(newId) {
|
|
12
|
-
const s = _registry.credentialRegistry.getState();
|
|
13
|
-
// replacements: { [oldId]: { id: newId, ... } }
|
|
14
|
-
for (const [oldId, lite] of Object.entries(s.replacements)) {
|
|
15
|
-
if ((lite === null || lite === void 0 ? void 0 : lite.id) === newId) return oldId;
|
|
16
|
-
}
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
11
|
/**
|
|
21
12
|
* Decline a replacement offer: clears the registry entry so the notification disappears.
|
|
22
13
|
* No repo operations (no save/delete) are performed.
|
|
@@ -56,7 +47,7 @@ function useDeclineReplacement(opts = {}) {
|
|
|
56
47
|
* Decline by NEW credential id (use this from the Offer screen where you only know newId)
|
|
57
48
|
*/
|
|
58
49
|
const declineByNewId = (0, _react.useCallback)(async newId => {
|
|
59
|
-
const oldId =
|
|
50
|
+
const oldId = (0, _registry.selectOldIdByReplacementId)(newId);
|
|
60
51
|
if (!oldId) {
|
|
61
52
|
logger === null || logger === void 0 || logger.warn(`🧹 [Decline] No matching oldId found for newId=${newId}`);
|
|
62
53
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_registry","
|
|
1
|
+
{"version":3,"names":["_react","require","_registry","useDeclineReplacement","opts","logger","declineByOldId","useCallback","oldId","credentialRegistry","setState","prev","_dropRepl","restRepl","replacements","_dropRef","restRefreshing","refreshing","expired","checked","filter","id","info","declineByNewId","newId","selectOldIdByReplacementId","warn","declineFromNotification","notif","_notif$metadata","_notif$metadata2","metadata","replacementId"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useDeclineReplacement.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAFA;;AAUA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CAACC,IAAa,GAAG,CAAC,CAAC,EAAE;EACxD,MAAM;IAAEC;EAAO,CAAC,GAAGD,IAAI;;EAEvB;AACF;AACA;EACE,MAAME,cAAc,GAAG,IAAAC,kBAAW,EAChC,MAAOC,KAAa,IAAK;IACvBC,4BAAkB,CAACC,QAAQ,CAAEC,IAAI,IAAK;MACpC;MACA,MAAM;QAAE,CAACH,KAAK,GAAGI,SAAS;QAAE,GAAGC;MAAS,CAAC,GAAGF,IAAI,CAACG,YAAY;MAC7D;MACA,MAAM;QAAE,CAACN,KAAK,GAAGO,QAAQ;QAAE,GAAGC;MAAe,CAAC,GAAGL,IAAI,CAACM,UAAU;MAChE,OAAO;QACL,GAAGN,IAAI;QACPO,OAAO,EAAEP,IAAI,CAACO,OAAO;QACrBC,OAAO,EAAER,IAAI,CAACQ,OAAO,CAACC,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKb,KAAK,CAAC;QAClDM,YAAY,EAAED,QAAQ;QACtBI,UAAU,EAAED;MACd,CAAC;IACH,CAAC,CAAC;IACFX,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEiB,IAAI,CAAC,2DAA2Dd,KAAK,EAAE,CAAC;EAClF,CAAC,EACD,CAACH,MAAM,CACT,CAAC;;EAED;AACF;AACA;EACE,MAAMkB,cAAc,GAAG,IAAAhB,kBAAW,EAChC,MAAOiB,KAAa,IAAK;IACvB,MAAMhB,KAAK,GAAG,IAAAiB,oCAA0B,EAACD,KAAK,CAAC;IAC/C,IAAI,CAAChB,KAAK,EAAE;MACVH,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEqB,IAAI,CAAC,kDAAkDF,KAAK,EAAE,CAAC;MACvE;IACF;IACA,MAAMlB,cAAc,CAACE,KAAK,CAAC;EAC7B,CAAC,EACD,CAACF,cAAc,EAAED,MAAM,CACzB,CAAC;;EAED;AACF;AACA;EACE,MAAMsB,uBAAuB,GAAG,IAAApB,kBAAW,EACzC,MAAOqB,KAAyB,IAAK;IAAA,IAAAC,eAAA,EAAAC,gBAAA;IACnC,MAAMtB,KAAK,GAAGoB,KAAK,aAALA,KAAK,gBAAAC,eAAA,GAALD,KAAK,CAAEG,QAAQ,cAAAF,eAAA,uBAAfA,eAAA,CAAiBrB,KAA2B;IAC1D,IAAIA,KAAK,EAAE;MACT,MAAMF,cAAc,CAACE,KAAK,CAAC;MAC3B;IACF;IACA,MAAMgB,KAAK,GAAGI,KAAK,aAALA,KAAK,gBAAAE,gBAAA,GAALF,KAAK,CAAEG,QAAQ,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBE,aAAmC;IAClE,IAAIR,KAAK,EAAE;MACT,MAAMD,cAAc,CAACC,KAAK,CAAC;MAC3B;IACF;IACAnB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEqB,IAAI,CAAC,2DAA2D,CAAC;EAC3E,CAAC,EACD,CAACpB,cAAc,EAAEiB,cAAc,EAAElB,MAAM,CACzC,CAAC;EAED,OAAO;IAAEC,cAAc;IAAEiB,cAAc;IAAEI;EAAwB,CAAC;AACpE","ignoreList":[]}
|
|
@@ -19,7 +19,7 @@ const useExpiredNotifications = () => {
|
|
|
19
19
|
} = (0, _useDeclineReplacement.useDeclineReplacement)({
|
|
20
20
|
logger
|
|
21
21
|
});
|
|
22
|
-
const build = (0, _react.useCallback)(s => s.expired.filter(oldId => s.checked.includes(oldId)).map(oldId => {
|
|
22
|
+
const build = (0, _react.useCallback)(s => s.expired.filter(oldId => s.checked.includes(oldId) && !s.replacements[oldId]).map(oldId => {
|
|
23
23
|
const lite = s.byId[oldId];
|
|
24
24
|
const n = {
|
|
25
25
|
type: _types.OpenIDCustomNotificationType.CredentialExpired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_registry","_types","_containerApi","_useDeclineReplacement","useExpiredNotifications","items","setItems","useState","logger","useServices","TOKENS","UTIL_LOGGER","declineByOldId","useDeclineReplacement","build","useCallback","s","expired","filter","oldId","checked","includes","map","lite","byId","n","type","OpenIDCustomNotificationType","CredentialExpired","title","pageTitle","buttonTitle","description","createdAt","Date","onPressAction","onCloseAction","component","metadata","format","useEffect","credentialRegistry","getState","unsub","subscribe","exports"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useExpiredNotifications.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AANA;;AAQO,MAAMK,uBAAuB,GAAGA,CAAA,KAA4B;EACjE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAuB,EAAE,CAAC;EAC5D,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAC,yBAAW,EAAC,CAACC,oBAAM,CAACC,WAAW,CAAC,CAAC;EAClD,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,4CAAqB,EAAC;IAAEL;EAAO,CAAC,CAAC;EAE5D,MAAMM,KAAK,GAAG,IAAAC,kBAAW,EACtBC,CAAgB,IACfA,CAAC,CAACC,OAAO,CACNC,MAAM,CAAEC,KAAK,IAAKH,CAAC,CAACI,OAAO,CAACC,QAAQ,CAACF,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"names":["_react","require","_registry","_types","_containerApi","_useDeclineReplacement","useExpiredNotifications","items","setItems","useState","logger","useServices","TOKENS","UTIL_LOGGER","declineByOldId","useDeclineReplacement","build","useCallback","s","expired","filter","oldId","checked","includes","replacements","map","lite","byId","n","type","OpenIDCustomNotificationType","CredentialExpired","title","pageTitle","buttonTitle","description","createdAt","Date","onPressAction","onCloseAction","component","metadata","format","useEffect","credentialRegistry","getState","unsub","subscribe","exports"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useExpiredNotifications.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AANA;;AAQO,MAAMK,uBAAuB,GAAGA,CAAA,KAA4B;EACjE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAuB,EAAE,CAAC;EAC5D,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAC,yBAAW,EAAC,CAACC,oBAAM,CAACC,WAAW,CAAC,CAAC;EAClD,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,4CAAqB,EAAC;IAAEL;EAAO,CAAC,CAAC;EAE5D,MAAMM,KAAK,GAAG,IAAAC,kBAAW,EACtBC,CAAgB,IACfA,CAAC,CAACC,OAAO,CACNC,MAAM,CAAEC,KAAK,IAAKH,CAAC,CAACI,OAAO,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAI,CAACH,CAAC,CAACM,YAAY,CAACH,KAAK,CAAC,CAAC,CACtEI,GAAG,CAAEJ,KAAK,IAAK;IACd,MAAMK,IAAI,GAAGR,CAAC,CAACS,IAAI,CAACN,KAAK,CAAC;IAC1B,MAAMO,CAAqB,GAAG;MAC5BC,IAAI,EAAEC,mCAA4B,CAACC,iBAAiB;MACpDC,KAAK,EAAE,oBAAoB;MAC3BC,SAAS,EAAE,oBAAoB;MAC/BC,WAAW,EAAE,QAAQ;MACrBC,WAAW,EAAE,mFAAmF;MAChGC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;MACrBC,aAAa,EAAEA,CAAA,KAAM,CAAC,CAAC;MACvBC,aAAa,EAAEA,CAAA,KAAMzB,cAAc,CAACO,KAAK,CAAC;MAC1CmB,SAAS,EAAEA,CAAA,KAAM,IAAI;MACrBC,QAAQ,EAAE;QACRpB,KAAK;QACLqB,MAAM,EAAEhB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgB;MAChB;IACF,CAAC;IACD,OAAOd,CAAC;EACV,CAAC,CAAC,EACN,CAACd,cAAc,CACjB,CAAC;EAED,IAAA6B,gBAAS,EAAC,MAAM;IACdnC,QAAQ,CAACQ,KAAK,CAAC4B,4BAAkB,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAMC,KAAK,GAAGF,4BAAkB,CAACG,SAAS,CAAE7B,CAAC,IAAKV,QAAQ,CAACQ,KAAK,CAACE,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO4B,KAAK;EACd,CAAC,EAAE,CAAC9B,KAAK,CAAC,CAAC;EAEX,OAAOT,KAAK;AACd,CAAC;AAAAyC,OAAA,CAAA1C,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -8,11 +8,9 @@ var _react = require("react");
|
|
|
8
8
|
var _native = require("@react-navigation/native");
|
|
9
9
|
var _reactHooks = require("@bifold/react-hooks");
|
|
10
10
|
var _navigators = require("../../../types/navigators");
|
|
11
|
-
var _refreshToken = require("../refresh/refreshToken");
|
|
12
|
-
var _reIssuance = require("../refresh/reIssuance");
|
|
13
11
|
var _OpenIDCredentialRecordProvider = require("../context/OpenIDCredentialRecordProvider");
|
|
14
|
-
var _registry = require("../refresh/registry");
|
|
15
12
|
var _containerApi = require("../../../container-api");
|
|
13
|
+
var _operations = require("../refresh/operations");
|
|
16
14
|
// modules/openid/hooks/useUpgradeExpiredCredential.ts
|
|
17
15
|
|
|
18
16
|
const useUpgradeExpiredCredential = () => {
|
|
@@ -21,71 +19,39 @@ const useUpgradeExpiredCredential = () => {
|
|
|
21
19
|
agent
|
|
22
20
|
} = (0, _reactHooks.useAgent)();
|
|
23
21
|
const {
|
|
24
|
-
|
|
22
|
+
getCredentialById
|
|
25
23
|
} = (0, _OpenIDCredentialRecordProvider.useOpenIDCredentials)();
|
|
26
24
|
const [logger] = (0, _containerApi.useServices)([_containerApi.TOKENS.UTIL_LOGGER]);
|
|
27
25
|
const upgrade = (0, _react.useCallback)(async oldId => {
|
|
28
|
-
var _newRecord$createdAt;
|
|
29
26
|
if (!agent) {
|
|
30
27
|
logger === null || logger === void 0 || logger.warn('⚠️ [Upgrade] Agent not ready, cannot upgrade credential');
|
|
31
28
|
return;
|
|
32
29
|
}
|
|
33
30
|
logger === null || logger === void 0 || logger.info(`🔁 [Upgrade] Starting upgrade flow for oldId=${oldId}`);
|
|
34
|
-
|
|
35
|
-
// 1. Load the “old” record
|
|
36
|
-
const byId = _registry.credentialRegistry.getState().byId[oldId];
|
|
37
|
-
if (!byId) {
|
|
38
|
-
logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No lite record for oldId=${oldId}`);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// We try all three repos – you can refine this using byId.format if you want
|
|
43
|
-
const rec = await getSdJwtCredentialById(oldId);
|
|
31
|
+
const rec = await getCredentialById(oldId);
|
|
44
32
|
if (!rec) {
|
|
45
33
|
logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No full record found for oldId=${oldId}`);
|
|
46
34
|
return;
|
|
47
35
|
}
|
|
48
|
-
|
|
49
|
-
// 2. Use refresh token to get new access token
|
|
50
|
-
const token = await (0, _refreshToken.refreshAccessToken)({
|
|
51
|
-
logger,
|
|
52
|
-
cred: rec,
|
|
53
|
-
agentContext: agent.context
|
|
54
|
-
});
|
|
55
|
-
if (!token) {
|
|
56
|
-
logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] No refresh token available for oldId=${oldId}`);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// 3. Re-issue credential using access token
|
|
61
|
-
const newRecord = await (0, _reIssuance.reissueCredentialWithAccessToken)({
|
|
36
|
+
const newRecord = await (0, _operations.refreshAndQueueReplacement)({
|
|
62
37
|
agent,
|
|
63
38
|
logger,
|
|
64
|
-
record: rec
|
|
65
|
-
tokenResponse: token
|
|
39
|
+
record: rec
|
|
66
40
|
});
|
|
67
41
|
if (!newRecord) {
|
|
68
|
-
logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade]
|
|
42
|
+
logger === null || logger === void 0 || logger.warn(`⚠️ [Upgrade] Could not issue replacement for oldId=${oldId}`);
|
|
69
43
|
return;
|
|
70
44
|
}
|
|
71
45
|
logger === null || logger === void 0 || logger.info(`💾 [Upgrade] New credential issued ${newRecord.id} from oldId=${oldId}`);
|
|
72
46
|
|
|
73
|
-
//
|
|
74
|
-
_registry.credentialRegistry.getState().markExpiredWithReplacement(oldId, {
|
|
75
|
-
id: newRecord.id,
|
|
76
|
-
format: byId.format,
|
|
77
|
-
createdAt: (_newRecord$createdAt = newRecord.createdAt) === null || _newRecord$createdAt === void 0 ? void 0 : _newRecord$createdAt.toISOString(),
|
|
78
|
-
issuer: byId.issuer
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// 5. Navigate to the OpenID offer screen, passing the new record directly
|
|
47
|
+
// Navigate to the OpenID offer screen, passing the new record directly
|
|
82
48
|
navigation.navigate(_navigators.Stacks.ConnectionStack, {
|
|
83
49
|
screen: _navigators.Screens.OpenIDCredentialOffer,
|
|
84
50
|
params: {
|
|
85
51
|
credential: newRecord
|
|
86
52
|
}
|
|
87
53
|
});
|
|
88
|
-
}, [agent, logger, navigation,
|
|
54
|
+
}, [agent, logger, navigation, getCredentialById]);
|
|
89
55
|
return {
|
|
90
56
|
upgrade
|
|
91
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_native","_reactHooks","_navigators","
|
|
1
|
+
{"version":3,"names":["_react","require","_native","_reactHooks","_navigators","_OpenIDCredentialRecordProvider","_containerApi","_operations","useUpgradeExpiredCredential","navigation","useNavigation","agent","useAgent","getCredentialById","useOpenIDCredentials","logger","useServices","TOKENS","UTIL_LOGGER","upgrade","useCallback","oldId","warn","info","rec","newRecord","refreshAndQueueReplacement","record","id","navigate","Stacks","ConnectionStack","screen","Screens","OpenIDCredentialOffer","params","credential","exports"],"sourceRoot":"../../../../../src","sources":["modules/openid/hooks/useUpgradeExpiredCredential.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,+BAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AARA;;AAUO,MAAMO,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,UAAU,GAAG,IAAAC,qBAAa,EAAkC,CAAC;EACnE,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,oBAAQ,EAAC,CAAC;EAC5B,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,oDAAoB,EAAC,CAAC;EACpD,MAAM,CAACC,MAAM,CAAC,GAAG,IAAAC,yBAAW,EAAC,CAACC,oBAAM,CAACC,WAAW,CAAC,CAAC;EAElD,MAAMC,OAAO,GAAG,IAAAC,kBAAW,EACzB,MAAOC,KAAa,IAAK;IACvB,IAAI,CAACV,KAAK,EAAE;MACVI,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEO,IAAI,CAAC,yDAAyD,CAAC;MACvE;IACF;IAEAP,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEQ,IAAI,CAAC,gDAAgDF,KAAK,EAAE,CAAC;IAErE,MAAMG,GAAG,GAAG,MAAMX,iBAAiB,CAACQ,KAAK,CAAC;IAE1C,IAAI,CAACG,GAAG,EAAE;MACRT,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEO,IAAI,CAAC,+CAA+CD,KAAK,EAAE,CAAC;MACpE;IACF;IAEA,MAAMI,SAAS,GAAG,MAAM,IAAAC,sCAA0B,EAAC;MACjDf,KAAK;MACLI,MAAM;MACNY,MAAM,EAAEH;IACV,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,EAAE;MACdV,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEO,IAAI,CAAC,sDAAsDD,KAAK,EAAE,CAAC;MAC3E;IACF;IAEAN,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEQ,IAAI,CAAC,sCAAsCE,SAAS,CAACG,EAAE,eAAeP,KAAK,EAAE,CAAC;;IAEtF;IACAZ,UAAU,CAACoB,QAAQ,CAACC,kBAAM,CAACC,eAAe,EAAE;MAC1CC,MAAM,EAAEC,mBAAO,CAACC,qBAAqB;MACrCC,MAAM,EAAE;QACNC,UAAU,EAAEX;MACd;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACd,KAAK,EAAEI,MAAM,EAAEN,UAAU,EAAEI,iBAAiB,CAC/C,CAAC;EAED,OAAO;IAAEM;EAAQ,CAAC;AACpB,CAAC;AAAAkB,OAAA,CAAA7B,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -68,6 +68,8 @@ function deleteRefreshCredentialMetadata(credentialRecord) {
|
|
|
68
68
|
async function persistCredentialRecord(agentContext, record) {
|
|
69
69
|
if (record instanceof _core.W3cCredentialRecord) {
|
|
70
70
|
await agentContext.dependencyManager.resolve(_core.W3cCredentialRepository).update(agentContext, record);
|
|
71
|
+
} else if (record instanceof _core.W3cV2CredentialRecord) {
|
|
72
|
+
await agentContext.dependencyManager.resolve(_core.W3cV2CredentialRepository).update(agentContext, record);
|
|
71
73
|
} else if (record instanceof _core.SdJwtVcRecord) {
|
|
72
74
|
await agentContext.dependencyManager.resolve(_core.SdJwtVcRepository).update(agentContext, record);
|
|
73
75
|
} else if (record instanceof _core.MdocRecord) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","openId4VcCredentialMetadataKey","exports","refreshCredentialMetadataKey","extractOpenId4VcCredentialMetadata","credentialMetadata","serverMetadata","credential","display","order","credential_subject","issuer","id","getOpenId4VcCredentialMetadata","credentialRecord","metadata","get","setOpenId4VcCredentialMetadata","set","getRefreshCredentialMetadata","setRefreshCredentialMetadata","deleteRefreshCredentialMetadata","delete","persistCredentialRecord","agentContext","record","W3cCredentialRecord","dependencyManager","resolve","W3cCredentialRepository","update","SdJwtVcRecord","SdJwtVcRepository","MdocRecord","MdocRepository","Error","markOpenIDCredentialStatus","status","refreshMetadata","lastCheckResult","temporaryMetaVanillaObject","notificationMetadata","undefined","tokenResponse"],"sourceRoot":"../../../../src","sources":["modules/openid/metadata.tsx"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_core","require","openId4VcCredentialMetadataKey","exports","refreshCredentialMetadataKey","extractOpenId4VcCredentialMetadata","credentialMetadata","serverMetadata","credential","display","order","credential_subject","issuer","id","getOpenId4VcCredentialMetadata","credentialRecord","metadata","get","setOpenId4VcCredentialMetadata","set","getRefreshCredentialMetadata","setRefreshCredentialMetadata","deleteRefreshCredentialMetadata","delete","persistCredentialRecord","agentContext","record","W3cCredentialRecord","dependencyManager","resolve","W3cCredentialRepository","update","W3cV2CredentialRecord","W3cV2CredentialRepository","SdJwtVcRecord","SdJwtVcRepository","MdocRecord","MdocRepository","Error","markOpenIDCredentialStatus","status","refreshMetadata","lastCheckResult","temporaryMetaVanillaObject","notificationMetadata","undefined","tokenResponse"],"sourceRoot":"../../../../src","sources":["modules/openid/metadata.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,21 @@ exports.resolveOpenId4VciOffer = exports.receiveCredentialFromOpenId4VciOffer =
|
|
|
8
8
|
var _openid4vc = require("@credo-ts/openid4vc");
|
|
9
9
|
var _core = require("@credo-ts/core");
|
|
10
10
|
var _metadata = require("./metadata");
|
|
11
|
+
const getCredentialConfigurationIdsToRequest = ({
|
|
12
|
+
resolvedCredentialOffer,
|
|
13
|
+
credentialConfigurationIdsToRequest
|
|
14
|
+
}) => {
|
|
15
|
+
const credentialConfigurationIds = credentialConfigurationIdsToRequest ?? [Object.keys(resolvedCredentialOffer.offeredCredentialConfigurations)[0]];
|
|
16
|
+
if (credentialConfigurationIds.length === 0 || !credentialConfigurationIds[0]) {
|
|
17
|
+
throw new Error('No credential configuration ID found in the credential offer.');
|
|
18
|
+
}
|
|
19
|
+
for (const credentialConfigurationId of credentialConfigurationIds) {
|
|
20
|
+
if (!resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationId]) {
|
|
21
|
+
throw new Error(`Parameter 'credentialConfigurationIdsToRequest' with values ${credentialConfigurationIdsToRequest} is not a credential_configuration_id in the credential offer.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return credentialConfigurationIds;
|
|
25
|
+
};
|
|
11
26
|
const resolveOpenId4VciOffer = async ({
|
|
12
27
|
agent,
|
|
13
28
|
data,
|
|
@@ -29,7 +44,7 @@ const resolveOpenId4VciOffer = async ({
|
|
|
29
44
|
});
|
|
30
45
|
const resolvedCredentialOffer = await agent.openid4vc.holder.resolveCredentialOffer(offerUri);
|
|
31
46
|
if (authorization) {
|
|
32
|
-
throw new Error('Authorization flow is not
|
|
47
|
+
throw new Error('Authorization code flow is not implemented in this OpenID credential offer flow.');
|
|
33
48
|
}
|
|
34
49
|
return resolvedCredentialOffer;
|
|
35
50
|
};
|
|
@@ -39,7 +54,7 @@ async function acquirePreAuthorizedAccessToken({
|
|
|
39
54
|
resolvedCredentialOffer,
|
|
40
55
|
txCode
|
|
41
56
|
}) {
|
|
42
|
-
return await agent.
|
|
57
|
+
return await agent.openid4vc.holder.requestToken({
|
|
43
58
|
resolvedCredentialOffer,
|
|
44
59
|
txCode
|
|
45
60
|
});
|
|
@@ -53,13 +68,7 @@ const customCredentialBindingResolver = async ({
|
|
|
53
68
|
proofTypes
|
|
54
69
|
}) => {
|
|
55
70
|
var _proofTypes$jwt;
|
|
56
|
-
// First, we try to pick a did method
|
|
57
|
-
// Prefer did:jwk, otherwise use did:key, otherwise use undefined
|
|
58
71
|
let didMethod = supportsAllDidMethods || supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:jwk') ? 'jwk' : supportedDidMethods !== null && supportedDidMethods !== void 0 && supportedDidMethods.includes('did:key') ? 'key' : undefined;
|
|
59
|
-
|
|
60
|
-
// If supportedDidMethods is undefined, and supportsJwk is false, we will default to did:key
|
|
61
|
-
// this is important as part of MATTR launchpad support which MUST use did:key but doesn't
|
|
62
|
-
// define which did methods they support
|
|
63
72
|
if (!supportedDidMethods && !supportsJwk) {
|
|
64
73
|
didMethod = 'key';
|
|
65
74
|
}
|
|
@@ -77,21 +86,20 @@ const customCredentialBindingResolver = async ({
|
|
|
77
86
|
if (didResult.didState.state !== 'finished') {
|
|
78
87
|
throw new Error('DID creation failed.');
|
|
79
88
|
}
|
|
80
|
-
let
|
|
89
|
+
let didUrl;
|
|
81
90
|
if (didMethod === 'jwk') {
|
|
82
|
-
|
|
83
|
-
verificationMethodId = didJwk.verificationMethodId;
|
|
91
|
+
didUrl = _core.DidJwk.fromDid(didResult.didState.did).verificationMethodId;
|
|
84
92
|
} else {
|
|
85
93
|
const didKey = _core.DidKey.fromDid(didResult.didState.did);
|
|
86
|
-
|
|
94
|
+
didUrl = `${didKey.did}#${didKey.publicJwk.fingerprint}`;
|
|
87
95
|
}
|
|
88
96
|
return {
|
|
89
|
-
|
|
90
|
-
|
|
97
|
+
method: 'did',
|
|
98
|
+
didUrls: [didUrl]
|
|
91
99
|
};
|
|
92
100
|
}
|
|
93
101
|
|
|
94
|
-
//
|
|
102
|
+
// Fallback: plain jwk for sd-jwt/mdoc only
|
|
95
103
|
if (supportsJwk && (credentialFormat === _openid4vc.OpenId4VciCredentialFormatProfile.SdJwtVc || credentialFormat === _openid4vc.OpenId4VciCredentialFormatProfile.MsoMdoc)) {
|
|
96
104
|
return {
|
|
97
105
|
method: 'jwk',
|
|
@@ -106,31 +114,29 @@ const receiveCredentialFromOpenId4VciOffer = async ({
|
|
|
106
114
|
resolvedCredentialOffer,
|
|
107
115
|
tokenResponse,
|
|
108
116
|
credentialConfigurationIdsToRequest,
|
|
109
|
-
clientId
|
|
110
|
-
pidSchemes
|
|
117
|
+
clientId
|
|
111
118
|
}) => {
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
119
|
+
const credentialConfigurationIds = getCredentialConfigurationIdsToRequest({
|
|
120
|
+
resolvedCredentialOffer,
|
|
121
|
+
credentialConfigurationIdsToRequest
|
|
122
|
+
});
|
|
116
123
|
const credentials = await agent.openid4vc.holder.requestCredentials({
|
|
117
124
|
resolvedCredentialOffer,
|
|
118
125
|
...tokenResponse,
|
|
119
126
|
clientId,
|
|
120
|
-
credentialConfigurationIds
|
|
127
|
+
credentialConfigurationIds,
|
|
121
128
|
verifyCredentialStatus: false,
|
|
122
129
|
allowedProofOfPossessionSignatureAlgorithms: [
|
|
123
130
|
// NOTE: MATTR launchpad for JFF MUST use EdDSA. So it is important that the default (first allowed one)
|
|
124
131
|
// is EdDSA. The list is ordered by preference, so if no suites are defined by the issuer, the first one
|
|
125
132
|
// will be used
|
|
126
|
-
|
|
133
|
+
'EdDSA', 'ES256'],
|
|
127
134
|
credentialBindingResolver: async ({
|
|
128
135
|
supportedDidMethods,
|
|
129
136
|
proofTypes,
|
|
130
137
|
supportsAllDidMethods,
|
|
131
138
|
supportsJwk,
|
|
132
|
-
credentialFormat
|
|
133
|
-
credentialConfigurationId
|
|
139
|
+
credentialFormat
|
|
134
140
|
}) => {
|
|
135
141
|
return customCredentialBindingResolver({
|
|
136
142
|
agent,
|
|
@@ -138,10 +144,7 @@ const receiveCredentialFromOpenId4VciOffer = async ({
|
|
|
138
144
|
proofTypes,
|
|
139
145
|
supportsAllDidMethods,
|
|
140
146
|
supportsJwk,
|
|
141
|
-
credentialFormat
|
|
142
|
-
credentialConfigurationId,
|
|
143
|
-
resolvedCredentialOffer,
|
|
144
|
-
pidSchemes
|
|
147
|
+
credentialFormat
|
|
145
148
|
});
|
|
146
149
|
}
|
|
147
150
|
});
|
|
@@ -153,36 +156,9 @@ const receiveCredentialFromOpenId4VciOffer = async ({
|
|
|
153
156
|
throw new Error('Error retrieving credential using pre authorized flow: firstCredential is string.');
|
|
154
157
|
}
|
|
155
158
|
const record = firstCredential.record;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
// if ('compact' in firstCredential.) {
|
|
160
|
-
// // TODO: add claimFormat to SdJwtVc
|
|
161
|
-
// record = new SdJwtVcRecord({
|
|
162
|
-
// credentialInstances: firstCredential.credential.compact,
|
|
163
|
-
// })
|
|
164
|
-
// } else if (firstCredential.credential instanceof Mdoc) {
|
|
165
|
-
// record = new MdocRecord({
|
|
166
|
-
// mdoc: firstCredential.credential,
|
|
167
|
-
// })
|
|
168
|
-
// } else {
|
|
169
|
-
// record = new W3cCredentialRecord({
|
|
170
|
-
// credential: firstCredential.credential as W3cJwtVerifiableCredential | W3cJsonLdVerifiableCredential,
|
|
171
|
-
// // We don't support expanded types right now, but would become problem when we support JSON-LD
|
|
172
|
-
// tags: {},
|
|
173
|
-
// })
|
|
174
|
-
// }
|
|
175
|
-
|
|
176
|
-
// TODO: Confirm how this should be handled, notificationMetadata for openid4vc may have been removed
|
|
177
|
-
|
|
178
|
-
// const notificationMetadata = { ...firstCredential.notificationMetadata }
|
|
179
|
-
// if (notificationMetadata) {
|
|
180
|
-
// temporaryMetaVanillaObject.notificationMetadata = notificationMetadata
|
|
181
|
-
// }
|
|
182
|
-
|
|
183
|
-
const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(Object.values(resolvedCredentialOffer.offeredCredentialConfigurations)[0], {
|
|
159
|
+
const requestedCredentialConfiguration = resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationIds[0]];
|
|
160
|
+
const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(requestedCredentialConfiguration, {
|
|
184
161
|
id: resolvedCredentialOffer.metadata.credentialIssuer.credential_issuer,
|
|
185
|
-
// This might not be correct
|
|
186
162
|
display: resolvedCredentialOffer.metadata.credentialIssuer.display
|
|
187
163
|
});
|
|
188
164
|
(0, _metadata.setOpenId4VcCredentialMetadata)(record, openId4VcMetadata);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_openid4vc","require","_core","_metadata","resolveOpenId4VciOffer","agent","data","uri","authorization","offerUri","encodeURIComponent","JSON","stringify","
|
|
1
|
+
{"version":3,"names":["_openid4vc","require","_core","_metadata","getCredentialConfigurationIdsToRequest","resolvedCredentialOffer","credentialConfigurationIdsToRequest","credentialConfigurationIds","Object","keys","offeredCredentialConfigurations","length","Error","credentialConfigurationId","resolveOpenId4VciOffer","agent","data","uri","authorization","offerUri","encodeURIComponent","JSON","stringify","config","logger","info","openid4vc","holder","resolveCredentialOffer","exports","acquirePreAuthorizedAccessToken","txCode","requestToken","customCredentialBindingResolver","supportedDidMethods","supportsAllDidMethods","supportsJwk","credentialFormat","proofTypes","_proofTypes$jwt","didMethod","includes","undefined","key","kms","createKeyForSignatureAlgorithm","algorithm","jwt","supportedSignatureAlgorithms","publicJwk","Kms","PublicJwk","fromPublicJwk","didResult","dids","create","method","options","keyId","didState","state","didUrl","DidJwk","fromDid","did","verificationMethodId","didKey","DidKey","fingerprint","didUrls","OpenId4VciCredentialFormatProfile","SdJwtVc","MsoMdoc","join","receiveCredentialFromOpenId4VciOffer","tokenResponse","clientId","credentials","requestCredentials","verifyCredentialStatus","allowedProofOfPossessionSignatureAlgorithms","credentialBindingResolver","firstCredential","record","requestedCredentialConfiguration","openId4VcMetadata","extractOpenId4VcCredentialMetadata","id","metadata","credentialIssuer","credential_issuer","display","setOpenId4VcCredentialMetadata"],"sourceRoot":"../../../../src","sources":["modules/openid/offerResolve.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.refreshAndQueueReplacement = refreshAndQueueReplacement;
|
|
7
|
+
var _credentialRecord = require("../credentialRecord");
|
|
8
|
+
var _refreshToken = require("./refreshToken");
|
|
9
|
+
var _registry = require("./registry");
|
|
10
|
+
var _reIssuance = require("./reIssuance");
|
|
11
|
+
async function refreshAndQueueReplacement({
|
|
12
|
+
agent,
|
|
13
|
+
logger,
|
|
14
|
+
record,
|
|
15
|
+
toLite = _credentialRecord.toOpenIDCredentialLite
|
|
16
|
+
}) {
|
|
17
|
+
const token = await (0, _refreshToken.refreshAccessToken)({
|
|
18
|
+
logger,
|
|
19
|
+
cred: record,
|
|
20
|
+
agentContext: agent.context
|
|
21
|
+
});
|
|
22
|
+
if (!token) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const newRecord = await (0, _reIssuance.reissueCredentialWithAccessToken)({
|
|
26
|
+
agent,
|
|
27
|
+
logger,
|
|
28
|
+
record,
|
|
29
|
+
tokenResponse: token
|
|
30
|
+
});
|
|
31
|
+
if (!newRecord) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
_registry.credentialRegistry.getState().markExpiredWithReplacement(record.id, toLite(newRecord));
|
|
35
|
+
return newRecord;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_credentialRecord","require","_refreshToken","_registry","_reIssuance","refreshAndQueueReplacement","agent","logger","record","toLite","toOpenIDCredentialLite","token","refreshAccessToken","cred","agentContext","context","undefined","newRecord","reissueCredentialWithAccessToken","tokenResponse","credentialRegistry","getState","markExpiredWithReplacement","id"],"sourceRoot":"../../../../../src","sources":["modules/openid/refresh/operations.ts"],"mappings":";;;;;;AAEA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAUO,eAAeI,0BAA0BA,CAAC;EAC/CC,KAAK;EACLC,MAAM;EACNC,MAAM;EACNC,MAAM,GAAGC;AACc,CAAC,EAAE;EAC1B,MAAMC,KAAK,GAAG,MAAM,IAAAC,gCAAkB,EAAC;IAAEL,MAAM;IAAEM,IAAI,EAAEL,MAAM;IAAEM,YAAY,EAAER,KAAK,CAACS;EAAQ,CAAC,CAAC;EAC7F,IAAI,CAACJ,KAAK,EAAE;IACV,OAAOK,SAAS;EAClB;EAEA,MAAMC,SAAS,GAAG,MAAM,IAAAC,4CAAgC,EAAC;IACvDZ,KAAK;IACLC,MAAM;IACNC,MAAM;IACNW,aAAa,EAAER;EACjB,CAAC,CAAC;EAEF,IAAI,CAACM,SAAS,EAAE;IACd,OAAOD,SAAS;EAClB;EAEAI,4BAAkB,CAACC,QAAQ,CAAC,CAAC,CAACC,0BAA0B,CAACd,MAAM,CAACe,EAAE,EAAEd,MAAM,CAACQ,SAAS,CAAC,CAAC;EACtF,OAAOA,SAAS;AAClB","ignoreList":[]}
|
|
@@ -12,8 +12,7 @@ async function reissueCredentialWithAccessToken({
|
|
|
12
12
|
logger,
|
|
13
13
|
record,
|
|
14
14
|
tokenResponse,
|
|
15
|
-
clientId
|
|
16
|
-
pidSchemes
|
|
15
|
+
clientId
|
|
17
16
|
}) {
|
|
18
17
|
if (!record) {
|
|
19
18
|
throw new Error('No credential record provided for re-issuance.');
|
|
@@ -35,26 +34,23 @@ async function reissueCredentialWithAccessToken({
|
|
|
35
34
|
logger.info('*** Starting to get new credential via re-issuance flow ***');
|
|
36
35
|
// Request a **new** credential using the *existing* configuration id
|
|
37
36
|
|
|
38
|
-
const creds = await agent.
|
|
37
|
+
const creds = await agent.openid4vc.holder.requestCredentials({
|
|
39
38
|
resolvedCredentialOffer,
|
|
40
39
|
accessToken: tokenResponse.access_token,
|
|
41
40
|
tokenType: tokenResponse.token_type || 'Bearer',
|
|
42
41
|
cNonce: tokenResponse.c_nonce,
|
|
43
42
|
clientId,
|
|
44
|
-
|
|
43
|
+
credentialConfigurationIds: [credentialConfigurationId],
|
|
45
44
|
verifyCredentialStatus: false,
|
|
46
45
|
// you’ll check after storing
|
|
47
46
|
allowedProofOfPossessionSignatureAlgorithms: ['EdDSA', 'ES256'],
|
|
48
47
|
credentialBindingResolver: async opts => (0, _offerResolve.customCredentialBindingResolver)({
|
|
49
48
|
agent,
|
|
50
49
|
supportedDidMethods: opts.supportedDidMethods,
|
|
51
|
-
|
|
50
|
+
proofTypes: opts.proofTypes,
|
|
52
51
|
supportsAllDidMethods: opts.supportsAllDidMethods,
|
|
53
52
|
supportsJwk: opts.supportsJwk,
|
|
54
|
-
credentialFormat: opts.credentialFormat
|
|
55
|
-
// supportedCredentialId: opts.supportedCredentialId,
|
|
56
|
-
resolvedCredentialOffer: resolvedCredentialOffer,
|
|
57
|
-
pidSchemes
|
|
53
|
+
credentialFormat: opts.credentialFormat
|
|
58
54
|
})
|
|
59
55
|
});
|
|
60
56
|
logger.info('*** New credential received via re-issuance flow ***.');
|
|
@@ -76,7 +72,8 @@ async function reissueCredentialWithAccessToken({
|
|
|
76
72
|
// })
|
|
77
73
|
// }
|
|
78
74
|
|
|
79
|
-
const
|
|
75
|
+
const requestedCredentialConfiguration = resolvedCredentialOffer.offeredCredentialConfigurations[credentialConfigurationId];
|
|
76
|
+
const openId4VcMetadata = (0, _metadata.extractOpenId4VcCredentialMetadata)(requestedCredentialConfiguration, {
|
|
80
77
|
id: resolvedCredentialOffer.metadata.credentialIssuer.credential_issuer,
|
|
81
78
|
display: resolvedCredentialOffer.metadata.credentialIssuer.display
|
|
82
79
|
});
|