@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
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import q from 'query-string';
|
|
1
|
+
import { ClaimFormat, CredentialMultiInstanceUseMode } from '@credo-ts/core';
|
|
3
2
|
import { getHostNameFromUrl } from './utils/utils';
|
|
4
3
|
import { Linking } from 'react-native';
|
|
5
4
|
function handleTextResponse(text) {
|
|
@@ -82,111 +81,34 @@ export async function fetchInvitationDataUrl(dataUrl) {
|
|
|
82
81
|
throw new Error(`[retrieve_invitation_error] Unable to retrieve invitation: ${error}`);
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
|
-
const extractCertificateFromJwt = jwt => {
|
|
86
|
-
const jwtHeader = Jwt.fromSerializedJwt(jwt).header;
|
|
87
|
-
return Array.isArray(jwtHeader.x5c) && typeof jwtHeader.x5c[0] === 'string' ? jwtHeader.x5c[0] : null;
|
|
88
|
-
};
|
|
89
84
|
|
|
90
85
|
/**
|
|
91
|
-
*
|
|
86
|
+
* Entry point for the OpenID4VP flow after QR scanning / deeplink / paste handling
|
|
87
|
+
* has identified an OpenID authorization request.
|
|
88
|
+
*
|
|
89
|
+
* This is the resolve phase only:
|
|
90
|
+
* - accept the raw request string coming from scan/deeplink handling
|
|
91
|
+
* - ask Credo to resolve the request into PEX or DCQL details
|
|
92
|
+
* - return a record that the proof UI can render
|
|
93
|
+
*
|
|
94
|
+
* It does not send anything to the verifier. The later submit phase is handled by
|
|
95
|
+
* {@link shareProof}, after the user explicitly opts in to share credentials.
|
|
92
96
|
*/
|
|
93
|
-
export const extractCertificateFromAuthorizationRequest = async ({
|
|
94
|
-
data,
|
|
95
|
-
uri
|
|
96
|
-
}) => {
|
|
97
|
-
try {
|
|
98
|
-
if (data) {
|
|
99
|
-
return {
|
|
100
|
-
data,
|
|
101
|
-
certificate: extractCertificateFromJwt(data)
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
if (uri) {
|
|
105
|
-
const query = q.parseUrl(uri).query;
|
|
106
|
-
if (query.request_uri && typeof query.request_uri === 'string') {
|
|
107
|
-
const result = await fetchInvitationDataUrl(query.request_uri);
|
|
108
|
-
if (result.success && result.result.type === 'openid-authorization-request' && typeof result.result.data === 'string') {
|
|
109
|
-
return {
|
|
110
|
-
data: result.result.data,
|
|
111
|
-
certificate: extractCertificateFromJwt(result.result.data)
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
} else if (query.request && typeof query.request === 'string') {
|
|
115
|
-
const _res = {
|
|
116
|
-
data: query.request,
|
|
117
|
-
certificate: extractCertificateFromJwt(query.request)
|
|
118
|
-
};
|
|
119
|
-
return _res;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return {
|
|
123
|
-
data: null,
|
|
124
|
-
certificate: null
|
|
125
|
-
};
|
|
126
|
-
} catch {
|
|
127
|
-
return {
|
|
128
|
-
data: null,
|
|
129
|
-
certificate: null
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
export async function withTrustedCertificate(agent,
|
|
134
|
-
//This should maybe be AgentContext instead
|
|
135
|
-
certificate, method) {
|
|
136
|
-
const x509ModuleConfig = agent.dependencyManager.resolve(X509ModuleConfig);
|
|
137
|
-
const currentTrustedCertificates = x509ModuleConfig.trustedCertificates ? [...x509ModuleConfig.trustedCertificates] : [];
|
|
138
|
-
try {
|
|
139
|
-
if (certificate) agent.modules.x509.addTrustedCertificate(certificate);
|
|
140
|
-
return await method();
|
|
141
|
-
} finally {
|
|
142
|
-
if (certificate) x509ModuleConfig.setTrustedCertificates(currentTrustedCertificates);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
//This settings should be moved to an injectable config
|
|
147
|
-
const allowUntrustedCertificates = false;
|
|
148
97
|
export const getCredentialsForProofRequest = async ({
|
|
149
98
|
agent,
|
|
150
|
-
|
|
151
|
-
uri
|
|
99
|
+
request
|
|
152
100
|
}) => {
|
|
153
|
-
let requestUri = uri;
|
|
154
101
|
try {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
data,
|
|
160
|
-
uri
|
|
161
|
-
}) : {};
|
|
162
|
-
if (newData) {
|
|
163
|
-
// FIXME: Credo only support request string, but we already parsed it before. So we construct an request here
|
|
164
|
-
// but in the future we need to support the parsed request in Credo directly
|
|
165
|
-
requestUri = `openid://?request=${encodeURIComponent(newData)}`;
|
|
166
|
-
} else if (uri) {
|
|
167
|
-
requestUri = uri;
|
|
168
|
-
} else {
|
|
169
|
-
throw new Error('Either data or uri must be provided');
|
|
170
|
-
}
|
|
171
|
-
agent.config.logger.info(`$$Receiving openid uri ${requestUri}`);
|
|
172
|
-
|
|
173
|
-
// Temp solution to add and remove the trusted certificate
|
|
174
|
-
const resolved = await withTrustedCertificate(agent, certificate, () => {
|
|
175
|
-
return agent.modules.openid4vc.holder.resolveOpenId4VpAuthorizationRequest(String(requestUri)); // Could throw instead of using constructor here
|
|
176
|
-
});
|
|
177
|
-
if (!resolved.presentationExchange) {
|
|
178
|
-
throw new Error('No presentation exchange found in authorization request.');
|
|
102
|
+
agent.config.logger.info(`$$Receiving openid authorization request ${request}`);
|
|
103
|
+
const resolved = await agent.modules.openid4vc.holder.resolveOpenId4VpAuthorizationRequest(request);
|
|
104
|
+
if (!resolved.presentationExchange && !resolved.dcql) {
|
|
105
|
+
throw new Error('Unsupported authorization request: missing presentation exchange or dcql parameters.');
|
|
179
106
|
}
|
|
180
107
|
const requestRecord = {
|
|
181
|
-
...resolved
|
|
182
|
-
authorizationRequestPayload: resolved.authorizationRequestPayload,
|
|
108
|
+
...resolved,
|
|
183
109
|
verifierHostName: resolved.authorizationRequestPayload.response_uri ? getHostNameFromUrl(String(resolved.authorizationRequestPayload.response_uri)) : undefined,
|
|
184
110
|
createdAt: new Date(),
|
|
185
|
-
type: 'OpenId4VPRequestRecord'
|
|
186
|
-
verifier: {
|
|
187
|
-
clientIdPrefix: resolved.verifier.clientIdPrefix,
|
|
188
|
-
effectiveClientId: resolved.verifier.effectiveClientId
|
|
189
|
-
}
|
|
111
|
+
type: 'OpenId4VPRequestRecord'
|
|
190
112
|
};
|
|
191
113
|
return requestRecord;
|
|
192
114
|
} catch (err) {
|
|
@@ -194,44 +116,116 @@ export const getCredentialsForProofRequest = async ({
|
|
|
194
116
|
throw err;
|
|
195
117
|
}
|
|
196
118
|
};
|
|
197
|
-
|
|
198
|
-
agent,
|
|
199
|
-
authorizationRequest,
|
|
200
|
-
credentialsForRequest,
|
|
201
|
-
selectedCredentials
|
|
202
|
-
}) => {
|
|
119
|
+
const getPexCredentialsForRequest = (credentialsForRequest, selectedProofCredentials) => {
|
|
203
120
|
if (!credentialsForRequest.areRequirementsSatisfied) {
|
|
204
121
|
throw new Error('Requirements from proof request are not satisfied');
|
|
205
122
|
}
|
|
206
123
|
|
|
207
|
-
//
|
|
208
|
-
//
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
const credentialId = selectedCredentials[entry.inputDescriptorId].id;
|
|
124
|
+
// `selectedProofCredentials` always represents the user's final UI choice.
|
|
125
|
+
// For PEX, the map key is the input descriptor id.
|
|
126
|
+
return Object.fromEntries(credentialsForRequest.requirements.flatMap(requirement => requirement.submissionEntry.map(entry => {
|
|
127
|
+
const credentialId = selectedProofCredentials[entry.inputDescriptorId].id;
|
|
212
128
|
const credential = entry.verifiableCredentials.find(vc => vc.credentialRecord.id === credentialId) ?? entry.verifiableCredentials[0];
|
|
213
|
-
return [entry.inputDescriptorId, [credential
|
|
129
|
+
return [entry.inputDescriptorId, [credential]];
|
|
214
130
|
})));
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
131
|
+
};
|
|
132
|
+
const getDcqlCredentialForRequest = validCredential => {
|
|
133
|
+
const useMode = CredentialMultiInstanceUseMode.NewOrFirst;
|
|
134
|
+
switch (validCredential.record.type) {
|
|
135
|
+
case 'MdocRecord':
|
|
136
|
+
return {
|
|
137
|
+
claimFormat: ClaimFormat.MsoMdoc,
|
|
138
|
+
credentialRecord: validCredential.record,
|
|
139
|
+
disclosedPayload: validCredential.claims.valid_claim_sets[0].output,
|
|
140
|
+
useMode
|
|
141
|
+
};
|
|
142
|
+
case 'SdJwtVcRecord':
|
|
143
|
+
return {
|
|
144
|
+
claimFormat: ClaimFormat.SdJwtDc,
|
|
145
|
+
credentialRecord: validCredential.record,
|
|
146
|
+
disclosedPayload: validCredential.claims.valid_claim_sets[0].output,
|
|
147
|
+
useMode
|
|
148
|
+
};
|
|
149
|
+
case 'W3cCredentialRecord':
|
|
150
|
+
return {
|
|
151
|
+
claimFormat: validCredential.record.firstCredential.claimFormat,
|
|
152
|
+
credentialRecord: validCredential.record,
|
|
153
|
+
disclosedPayload: validCredential.record.firstCredential.jsonCredential,
|
|
154
|
+
useMode
|
|
155
|
+
};
|
|
156
|
+
case 'W3cV2CredentialRecord':
|
|
157
|
+
return {
|
|
158
|
+
claimFormat: validCredential.record.firstCredential.claimFormat,
|
|
159
|
+
credentialRecord: validCredential.record,
|
|
160
|
+
disclosedPayload: validCredential.claims.valid_claim_sets[0].output,
|
|
161
|
+
useMode
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const getDcqlCredentialsForRequest = (agent, queryResult, selectedProofCredentials) => {
|
|
166
|
+
if (!queryResult.can_be_satisfied) {
|
|
167
|
+
throw new Error('Cannot select the credentials for the dcql query presentation if the request cannot be satisfied');
|
|
168
|
+
}
|
|
219
169
|
|
|
220
|
-
|
|
170
|
+
// This is the same user-selection map as for PEX.
|
|
171
|
+
// For DCQL, the map key is the credential query id instead of the input descriptor id.
|
|
172
|
+
if (Object.keys(selectedProofCredentials).length === 0) {
|
|
173
|
+
return agent.openid4vc.holder.selectCredentialsForDcqlRequest(queryResult);
|
|
174
|
+
}
|
|
175
|
+
return Object.fromEntries(Object.entries(selectedProofCredentials).map(([credentialQueryId, selectedCredential]) => {
|
|
176
|
+
const match = queryResult.credential_matches[credentialQueryId];
|
|
177
|
+
if (!(match !== null && match !== void 0 && match.success)) {
|
|
178
|
+
throw new Error(`No matching DCQL credentials found for credential query id ${credentialQueryId}`);
|
|
179
|
+
}
|
|
180
|
+
const validCredentials = Array.from(match.valid_credentials);
|
|
181
|
+
const validCredential = validCredentials.find(credential => credential.record.id === selectedCredential.id);
|
|
182
|
+
if (!validCredential) {
|
|
183
|
+
throw new Error(`Could not find credential record ${selectedCredential.id} in valid credential matches for credential query id ${credentialQueryId}`);
|
|
184
|
+
}
|
|
185
|
+
return [credentialQueryId, [getDcqlCredentialForRequest(validCredential)]];
|
|
186
|
+
}));
|
|
187
|
+
};
|
|
221
188
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
189
|
+
/**
|
|
190
|
+
* Submit phase for OpenID4VP after the user has reviewed the request and chosen
|
|
191
|
+
* which credentials to share.
|
|
192
|
+
*
|
|
193
|
+
* This function takes:
|
|
194
|
+
* - the resolved request record created by {@link getCredentialsForProofRequest}
|
|
195
|
+
* - the user's final credential selections from the proof UI
|
|
196
|
+
*
|
|
197
|
+
* It then maps those selections into the Credo input expected for either
|
|
198
|
+
* presentation exchange or DCQL and submits the authorization response.
|
|
199
|
+
*/
|
|
200
|
+
export const shareProof = async ({
|
|
201
|
+
agent,
|
|
202
|
+
requestRecord,
|
|
203
|
+
selectedProofCredentials
|
|
204
|
+
}) => {
|
|
205
|
+
try {
|
|
206
|
+
var _result$serverRespons;
|
|
207
|
+
const presentationExchange = requestRecord.presentationExchange ? {
|
|
208
|
+
credentials: getPexCredentialsForRequest(requestRecord.presentationExchange.credentialsForRequest, selectedProofCredentials)
|
|
209
|
+
} : undefined;
|
|
210
|
+
const dcql = !presentationExchange && requestRecord.dcql ? {
|
|
211
|
+
credentials: getDcqlCredentialsForRequest(agent, requestRecord.dcql.queryResult, selectedProofCredentials)
|
|
212
|
+
} : undefined;
|
|
213
|
+
if (!presentationExchange && !dcql) {
|
|
214
|
+
throw new Error('Unsupported authorization request: missing presentation exchange or dcql parameters.');
|
|
215
|
+
}
|
|
216
|
+
const result = await agent.openid4vc.holder.acceptOpenId4VpAuthorizationRequest({
|
|
217
|
+
authorizationRequestPayload: requestRecord.authorizationRequestPayload,
|
|
218
|
+
presentationExchange,
|
|
219
|
+
dcql,
|
|
220
|
+
origin: requestRecord.origin
|
|
221
|
+
});
|
|
228
222
|
|
|
229
223
|
// if redirect_uri is provided, open it in the browser
|
|
230
224
|
// Even if the response returned an error, we must open this uri
|
|
231
|
-
if (typeof result.serverResponse.body === 'object' && typeof result.serverResponse.body.redirect_uri === 'string') {
|
|
225
|
+
if (result.serverResponse && typeof result.serverResponse.body === 'object' && typeof ((_result$serverRespons = result.serverResponse.body) === null || _result$serverRespons === void 0 ? void 0 : _result$serverRespons.redirect_uri) === 'string') {
|
|
232
226
|
await Linking.openURL(result.serverResponse.body.redirect_uri);
|
|
233
227
|
}
|
|
234
|
-
if (result.serverResponse.status < 200 || result.serverResponse.status > 299) {
|
|
228
|
+
if (result.serverResponse && (result.serverResponse.status < 200 || result.serverResponse.status > 299)) {
|
|
235
229
|
throw new Error(`Error while accepting authorization request. ${result.serverResponse.body}`);
|
|
236
230
|
}
|
|
237
231
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ClaimFormat","CredentialMultiInstanceUseMode","getHostNameFromUrl","Linking","handleTextResponse","text","startsWith","success","result","format","type","data","json","JSON","parse","handleJsonResponse","error","Error","Array","isArray","fetchInvitationDataUrl","dataUrl","abortController","AbortController","timeout","setTimeout","abort","response","fetch","headers","Accept","clearTimeout","ok","contentType","get","includes","getCredentialsForProofRequest","agent","request","config","logger","info","resolved","modules","openid4vc","holder","resolveOpenId4VpAuthorizationRequest","presentationExchange","dcql","requestRecord","verifierHostName","authorizationRequestPayload","response_uri","String","undefined","createdAt","Date","err","message","getPexCredentialsForRequest","credentialsForRequest","selectedProofCredentials","areRequirementsSatisfied","Object","fromEntries","requirements","flatMap","requirement","submissionEntry","map","entry","credentialId","inputDescriptorId","id","credential","verifiableCredentials","find","vc","credentialRecord","getDcqlCredentialForRequest","validCredential","useMode","NewOrFirst","record","claimFormat","MsoMdoc","disclosedPayload","claims","valid_claim_sets","output","SdJwtDc","firstCredential","jsonCredential","getDcqlCredentialsForRequest","queryResult","can_be_satisfied","keys","length","selectCredentialsForDcqlRequest","entries","credentialQueryId","selectedCredential","match","credential_matches","validCredentials","from","valid_credentials","shareProof","_result$serverRespons","credentials","acceptOpenId4VpAuthorizationRequest","origin","serverResponse","body","redirect_uri","openURL","status"],"sourceRoot":"../../../../src","sources":["modules/openid/resolverProof.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,12 +2,13 @@ import React, { useEffect, useState } from 'react';
|
|
|
2
2
|
import { BackHandler, View, StyleSheet, DeviceEventEmitter } from 'react-native';
|
|
3
3
|
import { Screens } from '../../../types/navigators';
|
|
4
4
|
import { useServices, TOKENS } from '../../../container-api';
|
|
5
|
-
import { useAppAgent } from '../../../utils/agent';
|
|
6
5
|
import LoadingSpinner from '../../../components/animated/LoadingSpinner';
|
|
7
6
|
import { EventTypes } from '../../../constants';
|
|
8
7
|
import FullScreenErrorModal from '../../../components/modals/FullScreenErrorModal';
|
|
9
8
|
import { TabStacks } from '../../../types/navigators';
|
|
10
9
|
import { useTheme } from '../../../contexts/theme';
|
|
10
|
+
import { useOpenID } from '../hooks/openid';
|
|
11
|
+
import { isOpenIDCredentialRecord, isOpenIdProofRequestRecord } from '../credentialRecord';
|
|
11
12
|
const OpenIDConnection = ({
|
|
12
13
|
navigation,
|
|
13
14
|
route
|
|
@@ -16,20 +17,14 @@ const OpenIDConnection = ({
|
|
|
16
17
|
openIDUri,
|
|
17
18
|
openIDPresentationUri
|
|
18
19
|
} = route.params;
|
|
19
|
-
const [logger,
|
|
20
|
-
useNotifications
|
|
21
|
-
}, historyEnabled] = useServices([TOKENS.UTIL_LOGGER, TOKENS.NOTIFICATIONS, TOKENS.HISTORY_ENABLED]);
|
|
22
|
-
const notifications = useNotifications({
|
|
23
|
-
openIDUri: openIDUri,
|
|
24
|
-
openIDPresentationUri: openIDPresentationUri
|
|
25
|
-
});
|
|
26
|
-
const {
|
|
27
|
-
agent
|
|
28
|
-
} = useAppAgent();
|
|
20
|
+
const [logger, historyEnabled] = useServices([TOKENS.UTIL_LOGGER, TOKENS.HISTORY_ENABLED]);
|
|
29
21
|
const {
|
|
30
22
|
ColorPalette
|
|
31
23
|
} = useTheme();
|
|
32
|
-
const
|
|
24
|
+
const notificationRecord = useOpenID({
|
|
25
|
+
openIDUri,
|
|
26
|
+
openIDPresentationUri
|
|
27
|
+
});
|
|
33
28
|
const [showErrorModal, setShowErrorModal] = useState(false);
|
|
34
29
|
const [errorDetails, setErrorDetails] = useState({});
|
|
35
30
|
const styles = StyleSheet.create({
|
|
@@ -41,37 +36,30 @@ const OpenIDConnection = ({
|
|
|
41
36
|
});
|
|
42
37
|
useEffect(() => {
|
|
43
38
|
try {
|
|
44
|
-
if (!
|
|
39
|
+
if (!historyEnabled) {
|
|
45
40
|
logger.trace(`[${Screens.OpenIDConnection}]:[logHistoryRecord] Skipping history log, either history function disabled or agent undefined!`);
|
|
46
41
|
return;
|
|
47
42
|
}
|
|
48
43
|
} catch (err) {
|
|
49
44
|
logger.error(`[${Screens.OpenIDConnection}]:[logHistoryRecord] Error saving history: ${err}`);
|
|
50
45
|
}
|
|
51
|
-
}, [
|
|
46
|
+
}, [historyEnabled, logger]);
|
|
52
47
|
useEffect(() => {
|
|
53
48
|
const backHandler = BackHandler.addEventListener('hardwareBackPress', () => true);
|
|
54
49
|
return () => backHandler.remove();
|
|
55
50
|
}, []);
|
|
56
|
-
useEffect(() => {
|
|
57
|
-
for (const notification of notifications) {
|
|
58
|
-
if (notification.type === 'W3cCredentialRecord' || notification.type === 'SdJwtVcRecord' || notification.type === 'MdocRecord' || notification.type === 'OpenId4VPRequestRecord') {
|
|
59
|
-
setNotificationRecord(notification);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}, [notificationRecord, notifications, logger]);
|
|
63
51
|
useEffect(() => {
|
|
64
52
|
if (!notificationRecord) {
|
|
65
53
|
return;
|
|
66
54
|
}
|
|
67
|
-
if (notificationRecord
|
|
55
|
+
if (isOpenIDCredentialRecord(notificationRecord)) {
|
|
68
56
|
logger === null || logger === void 0 || logger.info(`Connection: Handling OpenID4VCi Credential, navigate to CredentialOffer`);
|
|
69
57
|
navigation.replace(Screens.OpenIDCredentialOffer, {
|
|
70
58
|
credential: notificationRecord
|
|
71
59
|
});
|
|
72
60
|
return;
|
|
73
61
|
}
|
|
74
|
-
if (notificationRecord
|
|
62
|
+
if (isOpenIdProofRequestRecord(notificationRecord)) {
|
|
75
63
|
navigation.replace(Screens.OpenIDProofPresentation, {
|
|
76
64
|
credential: notificationRecord
|
|
77
65
|
});
|
|
@@ -91,8 +79,9 @@ const OpenIDConnection = ({
|
|
|
91
79
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
92
80
|
style: styles.pageContainer
|
|
93
81
|
}, /*#__PURE__*/React.createElement(LoadingSpinner, {
|
|
94
|
-
|
|
95
|
-
|
|
82
|
+
color: ColorPalette.brand.loadingIcon,
|
|
83
|
+
name: "loading",
|
|
84
|
+
size: 50
|
|
96
85
|
})), /*#__PURE__*/React.createElement(FullScreenErrorModal, {
|
|
97
86
|
errorTitle: (errorDetails === null || errorDetails === void 0 ? void 0 : errorDetails.title) ?? '',
|
|
98
87
|
errorDescription: (errorDetails === null || errorDetails === void 0 ? void 0 : errorDetails.description) ?? '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","BackHandler","View","StyleSheet","DeviceEventEmitter","Screens","useServices","TOKENS","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","BackHandler","View","StyleSheet","DeviceEventEmitter","Screens","useServices","TOKENS","LoadingSpinner","EventTypes","FullScreenErrorModal","TabStacks","useTheme","useOpenID","isOpenIDCredentialRecord","isOpenIdProofRequestRecord","OpenIDConnection","navigation","route","openIDUri","openIDPresentationUri","params","logger","historyEnabled","UTIL_LOGGER","HISTORY_ENABLED","ColorPalette","notificationRecord","showErrorModal","setShowErrorModal","errorDetails","setErrorDetails","styles","create","pageContainer","flex","justifyContent","alignItems","trace","err","error","backHandler","addEventListener","remove","info","replace","OpenIDCredentialOffer","credential","OpenIDProofPresentation","handler","addListener","OPENID_CONNECTION_ERROR","createElement","Fragment","style","color","brand","loadingIcon","name","size","errorTitle","title","errorDescription","description","visible","onPressCTA","_navigation$getParent","getParent","navigate","HomeStack","screen","Home"],"sourceRoot":"../../../../../src","sources":["modules/openid/screens/OpenIDConnection.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -53,7 +53,8 @@ const OpenIDCredentialDetails = ({
|
|
|
53
53
|
const {
|
|
54
54
|
removeCredential,
|
|
55
55
|
getW3CCredentialById,
|
|
56
|
-
getSdJwtCredentialById
|
|
56
|
+
getSdJwtCredentialById,
|
|
57
|
+
getMdocCredentialById
|
|
57
58
|
} = useOpenIDCredentials();
|
|
58
59
|
const [bundleResolver] = useServices([TOKENS.UTIL_OCA_RESOLVER]);
|
|
59
60
|
const [isRemoveModalDisplayed, setIsRemoveModalDisplayed] = useState(false);
|
|
@@ -82,6 +83,8 @@ const OpenIDCredentialDetails = ({
|
|
|
82
83
|
let record;
|
|
83
84
|
if (type === OpenIDCredentialType.SdJwtVc) {
|
|
84
85
|
record = await getSdJwtCredentialById(credentialId);
|
|
86
|
+
} else if (type === OpenIDCredentialType.Mdoc) {
|
|
87
|
+
record = await getMdocCredentialById(credentialId);
|
|
85
88
|
} else {
|
|
86
89
|
record = await getW3CCredentialById(credentialId);
|
|
87
90
|
}
|
|
@@ -92,7 +95,7 @@ const OpenIDCredentialDetails = ({
|
|
|
92
95
|
}
|
|
93
96
|
};
|
|
94
97
|
fetchCredential();
|
|
95
|
-
}, [credentialId, type, getSdJwtCredentialById, getW3CCredentialById, agent, t, credentialRemoved]);
|
|
98
|
+
}, [credentialId, type, getSdJwtCredentialById, getMdocCredentialById, getW3CCredentialById, agent, t, credentialRemoved]);
|
|
96
99
|
useEffect(() => {
|
|
97
100
|
if (!credential) return;
|
|
98
101
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","Screens","getCredentialForDisplay","CommonRemoveModal","ModalUsage","DeviceEventEmitter","StyleSheet","Text","View","useTranslation","testIdWithKey","useTheme","BifoldError","EventTypes","useAgent","RecordRemove","useOpenIDCredentials","OpenIDCredentialType","TOKENS","useServices","Record","buildOverlayFromW3cCredential","CredentialDetailSecondaryHeader","CredentialCardLogo","CredentialDetailPrimaryHeader","ScreenLayout","OpenIDCredentialCard","OpenIDCredScreenMode","paddingHorizontal","paddingVertical","OpenIDCredentialDetails","navigation","route","_overlay$brandingOver","credentialId","type","params","credential","setCredential","undefined","credentialDisplay","setCredentialDisplay","t","i18n","ColorPalette","TextTheme","agent","removeCredential","getW3CCredentialById","getSdJwtCredentialById","bundleResolver","UTIL_OCA_RESOLVER","isRemoveModalDisplayed","setIsRemoveModalDisplayed","credentialRemoved","setCredentialRemoved","overlay","setOverlay","bundle","presentationFields","metaOverlay","brandingOverlay","styles","create","container","backgroundColor","primaryBackgroundColor","display","cardContainer","fetchCredential","record","SdJwtVc","emit","ERROR_ADDED","credDisplay","resolveOverlay","resolvedOverlay","language","resolver","toggleDeclineModalVisible","handleDeclineTouched","Promise","resolve","setTimeout","handleRemove","pop","err","error","message","legacyHeader","createElement","style","renderOpenIdCard","credentialRecord","header","footer","marginBottom","brand","secondaryBackground","marginTop","testID","title","normal","issuer","name","onRemove","screen","fields","hideFieldValues","usage","CredentialRemove","visible","onSubmit","onCancel"],"sourceRoot":"../../../../../src","sources":["modules/openid/screens/OpenIDCredentialDetails.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElD,SAA0BC,OAAO,QAAQ,2BAA2B;AACpE,SAASC,uBAAuB,QAAQ,YAAY;AACpD,OAAOC,iBAAiB,MAAM,8CAA8C;AAC5E,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,kBAAkB,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzE,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,aAAa,QAAQ,yBAAyB;AACvD,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,OAAOC,YAAY,MAAM,yCAAyC;AAClE,SAASC,oBAAoB,QAAQ,2CAA2C;AAEhF,SAASC,oBAAoB,QAA8B,UAAU;AACrE,SAASC,MAAM,EAAEC,WAAW,QAAQ,wBAAwB;AAE5D,OAAOC,MAAM,MAAM,mCAAmC;
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","Screens","getCredentialForDisplay","CommonRemoveModal","ModalUsage","DeviceEventEmitter","StyleSheet","Text","View","useTranslation","testIdWithKey","useTheme","BifoldError","EventTypes","useAgent","RecordRemove","useOpenIDCredentials","OpenIDCredentialType","TOKENS","useServices","Record","buildOverlayFromW3cCredential","CredentialDetailSecondaryHeader","CredentialCardLogo","CredentialDetailPrimaryHeader","ScreenLayout","OpenIDCredentialCard","OpenIDCredScreenMode","paddingHorizontal","paddingVertical","OpenIDCredentialDetails","navigation","route","_overlay$brandingOver","credentialId","type","params","credential","setCredential","undefined","credentialDisplay","setCredentialDisplay","t","i18n","ColorPalette","TextTheme","agent","removeCredential","getW3CCredentialById","getSdJwtCredentialById","getMdocCredentialById","bundleResolver","UTIL_OCA_RESOLVER","isRemoveModalDisplayed","setIsRemoveModalDisplayed","credentialRemoved","setCredentialRemoved","overlay","setOverlay","bundle","presentationFields","metaOverlay","brandingOverlay","styles","create","container","backgroundColor","primaryBackgroundColor","display","cardContainer","fetchCredential","record","SdJwtVc","Mdoc","emit","ERROR_ADDED","credDisplay","resolveOverlay","resolvedOverlay","language","resolver","toggleDeclineModalVisible","handleDeclineTouched","Promise","resolve","setTimeout","handleRemove","pop","err","error","message","legacyHeader","createElement","style","renderOpenIdCard","credentialRecord","header","footer","marginBottom","brand","secondaryBackground","marginTop","testID","title","normal","issuer","name","onRemove","screen","fields","hideFieldValues","usage","CredentialRemove","visible","onSubmit","onCancel"],"sourceRoot":"../../../../../src","sources":["modules/openid/screens/OpenIDCredentialDetails.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useTranslation } from 'react-i18next';
|
|
2
2
|
import { FlatList, StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
import { MdocRecord, SdJwtVcRecord, W3cCredentialRecord, W3cV2CredentialRecord } from '@credo-ts/core';
|
|
3
4
|
import React, { useEffect, useState } from 'react';
|
|
4
5
|
import RecordLoading from '../../../components/animated/RecordLoading';
|
|
5
6
|
import { ThemedText } from '../../../components/texts/ThemedText';
|
|
@@ -8,8 +9,8 @@ import ScreenLayout from '../../../layout/ScreenLayout';
|
|
|
8
9
|
import { Screens } from '../../../types/navigators';
|
|
9
10
|
import { testIdWithKey } from '../../../utils/testable';
|
|
10
11
|
import { useOpenIDCredentials } from '../context/OpenIDCredentialRecordProvider';
|
|
11
|
-
import { isSdJwtProofRequest, isW3CProofRequest } from '../utils/utils';
|
|
12
12
|
import CredentialCardGen from '../../../components/misc/CredentialCardGen';
|
|
13
|
+
const isDisplayableOpenIDProofCredential = credential => credential instanceof W3cCredentialRecord || credential instanceof W3cV2CredentialRecord || credential instanceof SdJwtVcRecord || credential instanceof MdocRecord;
|
|
13
14
|
const OpenIDProofCredentialSelect = ({
|
|
14
15
|
route,
|
|
15
16
|
navigation
|
|
@@ -25,8 +26,7 @@ const OpenIDProofCredentialSelect = ({
|
|
|
25
26
|
SelectedCredTheme
|
|
26
27
|
} = useTheme();
|
|
27
28
|
const {
|
|
28
|
-
|
|
29
|
-
getSdJwtCredentialById
|
|
29
|
+
getCredentialById
|
|
30
30
|
} = useOpenIDCredentials();
|
|
31
31
|
const {
|
|
32
32
|
t
|
|
@@ -42,13 +42,8 @@ const OpenIDProofCredentialSelect = ({
|
|
|
42
42
|
id,
|
|
43
43
|
claimFormat
|
|
44
44
|
} of Object.values(altCredentials)) {
|
|
45
|
-
|
|
46
|
-
if (
|
|
47
|
-
credential = await getW3CCredentialById(id);
|
|
48
|
-
} else if (isSdJwtProofRequest(claimFormat)) {
|
|
49
|
-
credential = await getSdJwtCredentialById(id);
|
|
50
|
-
}
|
|
51
|
-
if (credential) {
|
|
45
|
+
const credential = await getCredentialById(id);
|
|
46
|
+
if (credential && isDisplayableOpenIDProofCredential(credential)) {
|
|
52
47
|
creds.push({
|
|
53
48
|
credential,
|
|
54
49
|
claimFormat
|
|
@@ -59,7 +54,7 @@ const OpenIDProofCredentialSelect = ({
|
|
|
59
54
|
setLoading(false);
|
|
60
55
|
}
|
|
61
56
|
fetchCreds();
|
|
62
|
-
}, [altCredentials,
|
|
57
|
+
}, [altCredentials, getCredentialById]);
|
|
63
58
|
const styles = StyleSheet.create({
|
|
64
59
|
pageContainer: {
|
|
65
60
|
flex: 1
|