@pega/react-sdk-components 0.23.26 → 8.8.21
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/bridge/Context/StoreContext.d.ts +3 -2
- package/lib/bridge/Context/StoreContext.d.ts.map +1 -1
- package/lib/bridge/Context/StoreContext.js +2 -3
- package/lib/bridge/Context/StoreContext.js.map +1 -1
- package/lib/bridge/helpers/sdk_component_map.d.ts +1 -0
- package/lib/bridge/helpers/sdk_component_map.d.ts.map +1 -1
- package/lib/bridge/helpers/sdk_component_map.js +22 -0
- package/lib/bridge/helpers/sdk_component_map.js.map +1 -1
- package/lib/bridge/react_pconnect.d.ts.map +1 -1
- package/lib/bridge/react_pconnect.js +2 -14
- package/lib/bridge/react_pconnect.js.map +1 -1
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts +10 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.d.ts.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js +19 -0
- package/lib/components/designSystemExtension/AlertBanner/AlertBanner.js.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/index.d.ts +2 -0
- package/lib/components/designSystemExtension/AlertBanner/index.d.ts.map +1 -0
- package/lib/components/designSystemExtension/AlertBanner/index.js +2 -0
- package/lib/components/designSystemExtension/AlertBanner/index.js.map +1 -0
- package/lib/components/designSystemExtension/Banner/Banner.d.ts +15 -1
- package/lib/components/designSystemExtension/Banner/Banner.d.ts.map +1 -1
- package/lib/components/designSystemExtension/Banner/Banner.js.map +1 -1
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts +6 -9
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.d.ts.map +1 -1
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js +3 -7
- package/lib/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.js.map +1 -1
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.d.ts +4 -10
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.d.ts.map +1 -1
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js +1 -8
- package/lib/components/designSystemExtension/DetailsFields/DetailsFields.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.d.ts +6 -2
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.d.ts.map +1 -1
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js +3 -3
- package/lib/components/designSystemExtension/FieldGroup/FieldGroup.js.map +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.d.ts +7 -2
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.d.ts.map +1 -1
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js +4 -4
- package/lib/components/designSystemExtension/FieldGroupList/FieldGroupList.js.map +1 -1
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.d.ts +7 -2
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.d.ts.map +1 -1
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js +3 -3
- package/lib/components/designSystemExtension/FieldValueList/FieldValueList.js.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.d.ts +17 -7
- package/lib/components/designSystemExtension/Operator/Operator.d.ts.map +1 -1
- package/lib/components/designSystemExtension/Operator/Operator.js +13 -16
- package/lib/components/designSystemExtension/Operator/Operator.js.map +1 -1
- package/lib/components/designSystemExtension/Pulse/Pulse.d.ts +5 -1
- package/lib/components/designSystemExtension/Pulse/Pulse.d.ts.map +1 -1
- package/lib/components/designSystemExtension/Pulse/Pulse.js +3 -6
- package/lib/components/designSystemExtension/Pulse/Pulse.js.map +1 -1
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts +19 -0
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.d.ts.map +1 -0
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js +77 -0
- package/lib/components/designSystemExtension/RichTextEditor/RichTextEditor.js.map +1 -0
- package/lib/components/designSystemExtension/RichTextEditor/index.d.ts +2 -0
- package/lib/components/designSystemExtension/RichTextEditor/index.d.ts.map +1 -0
- package/lib/components/designSystemExtension/RichTextEditor/index.js +2 -0
- package/lib/components/designSystemExtension/RichTextEditor/index.js.map +1 -0
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.d.ts +6 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.d.ts.map +1 -1
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js +2 -2
- package/lib/components/designSystemExtension/WssQuickCreate/WssQuickCreate.js.map +1 -1
- package/lib/components/field/AutoComplete/AutoComplete.d.ts +15 -1
- package/lib/components/field/AutoComplete/AutoComplete.d.ts.map +1 -1
- package/lib/components/field/AutoComplete/AutoComplete.js +17 -15
- package/lib/components/field/AutoComplete/AutoComplete.js.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.d.ts +7 -2
- package/lib/components/field/CancelAlert/CancelAlert.d.ts.map +1 -1
- package/lib/components/field/CancelAlert/CancelAlert.js +12 -10
- package/lib/components/field/CancelAlert/CancelAlert.js.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.d.ts +19 -1
- package/lib/components/field/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/field/Checkbox/Checkbox.js +12 -10
- package/lib/components/field/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/field/Currency/Currency.d.ts +6 -1
- package/lib/components/field/Currency/Currency.d.ts.map +1 -1
- package/lib/components/field/Currency/Currency.js +11 -11
- package/lib/components/field/Currency/Currency.js.map +1 -1
- package/lib/components/field/Currency/currency-utils.d.ts +1 -1
- package/lib/components/field/Currency/currency-utils.d.ts.map +1 -1
- package/lib/components/field/Currency/currency-utils.js +1 -1
- package/lib/components/field/Currency/currency-utils.js.map +1 -1
- package/lib/components/field/Date/Date.d.ts +5 -1
- package/lib/components/field/Date/Date.d.ts.map +1 -1
- package/lib/components/field/Date/Date.js +19 -11
- package/lib/components/field/Date/Date.js.map +1 -1
- package/lib/components/field/DateTime/DateTime.d.ts +5 -1
- package/lib/components/field/DateTime/DateTime.d.ts.map +1 -1
- package/lib/components/field/DateTime/DateTime.js +15 -9
- package/lib/components/field/DateTime/DateTime.js.map +1 -1
- package/lib/components/field/Decimal/Decimal.d.ts +8 -1
- package/lib/components/field/Decimal/Decimal.d.ts.map +1 -1
- package/lib/components/field/Decimal/Decimal.js +43 -9
- package/lib/components/field/Decimal/Decimal.js.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.d.ts +10 -1
- package/lib/components/field/Dropdown/Dropdown.d.ts.map +1 -1
- package/lib/components/field/Dropdown/Dropdown.js +26 -9
- package/lib/components/field/Dropdown/Dropdown.js.map +1 -1
- package/lib/components/field/Email/Email.d.ts +5 -1
- package/lib/components/field/Email/Email.d.ts.map +1 -1
- package/lib/components/field/Email/Email.js +7 -5
- package/lib/components/field/Email/Email.js.map +1 -1
- package/lib/components/field/Integer/Integer.d.ts +5 -1
- package/lib/components/field/Integer/Integer.d.ts.map +1 -1
- package/lib/components/field/Integer/Integer.js +6 -4
- package/lib/components/field/Integer/Integer.js.map +1 -1
- package/lib/components/field/Percentage/Percentage.d.ts +5 -1
- package/lib/components/field/Percentage/Percentage.d.ts.map +1 -1
- package/lib/components/field/Percentage/Percentage.js +6 -4
- package/lib/components/field/Percentage/Percentage.js.map +1 -1
- package/lib/components/field/Phone/Phone.d.ts +5 -1
- package/lib/components/field/Phone/Phone.d.ts.map +1 -1
- package/lib/components/field/Phone/Phone.js +10 -7
- package/lib/components/field/Phone/Phone.js.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.d.ts +7 -1
- package/lib/components/field/RadioButtons/RadioButtons.d.ts.map +1 -1
- package/lib/components/field/RadioButtons/RadioButtons.js +24 -11
- package/lib/components/field/RadioButtons/RadioButtons.js.map +1 -1
- package/lib/components/field/RichText/RichText.d.ts +7 -0
- package/lib/components/field/RichText/RichText.d.ts.map +1 -0
- package/lib/components/field/RichText/RichText.js +51 -0
- package/lib/components/field/RichText/RichText.js.map +1 -0
- package/lib/components/field/RichText/index.d.ts +2 -0
- package/lib/components/field/RichText/index.d.ts.map +1 -0
- package/lib/components/field/RichText/index.js +2 -0
- package/lib/components/field/RichText/index.js.map +1 -0
- package/lib/components/field/ScalarList/ScalarList.d.ts +13 -0
- package/lib/components/field/ScalarList/ScalarList.d.ts.map +1 -0
- package/lib/components/field/ScalarList/ScalarList.js +34 -0
- package/lib/components/field/ScalarList/ScalarList.js.map +1 -0
- package/lib/components/field/ScalarList/index.d.ts +2 -0
- package/lib/components/field/ScalarList/index.d.ts.map +1 -0
- package/lib/components/field/ScalarList/index.js +2 -0
- package/lib/components/field/ScalarList/index.js.map +1 -0
- package/lib/components/field/SemanticLink/SemanticLink.d.ts +5 -9
- package/lib/components/field/SemanticLink/SemanticLink.d.ts.map +1 -1
- package/lib/components/field/SemanticLink/SemanticLink.js +10 -14
- package/lib/components/field/SemanticLink/SemanticLink.js.map +1 -1
- package/lib/components/field/SemanticLink/utils.d.ts.map +1 -1
- package/lib/components/field/SemanticLink/utils.js.map +1 -1
- package/lib/components/field/TextArea/TextArea.d.ts +6 -1
- package/lib/components/field/TextArea/TextArea.d.ts.map +1 -1
- package/lib/components/field/TextArea/TextArea.js +5 -3
- package/lib/components/field/TextArea/TextArea.js.map +1 -1
- package/lib/components/field/TextContent/TextContent.d.ts +7 -1
- package/lib/components/field/TextContent/TextContent.d.ts.map +1 -1
- package/lib/components/field/TextContent/TextContent.js.map +1 -1
- package/lib/components/field/TextInput/TextInput.d.ts +6 -1
- package/lib/components/field/TextInput/TextInput.d.ts.map +1 -1
- package/lib/components/field/TextInput/TextInput.js +24 -5
- package/lib/components/field/TextInput/TextInput.js.map +1 -1
- package/lib/components/field/Time/Time.d.ts +5 -1
- package/lib/components/field/Time/Time.d.ts.map +1 -1
- package/lib/components/field/Time/Time.js +14 -8
- package/lib/components/field/Time/Time.js.map +1 -1
- package/lib/components/field/URL/URL.d.ts +5 -1
- package/lib/components/field/URL/URL.d.ts.map +1 -1
- package/lib/components/field/URL/URL.js +11 -5
- package/lib/components/field/URL/URL.js.map +1 -1
- package/lib/components/field/UserReference/UserReference.d.ts +19 -40
- package/lib/components/field/UserReference/UserReference.d.ts.map +1 -1
- package/lib/components/field/UserReference/UserReference.js +16 -45
- package/lib/components/field/UserReference/UserReference.js.map +1 -1
- package/lib/components/helpers/attachmentHelpers.d.ts +6 -6
- package/lib/components/helpers/attachmentHelpers.d.ts.map +1 -1
- package/lib/components/helpers/attachmentHelpers.js +2 -2
- package/lib/components/helpers/attachmentHelpers.js.map +1 -1
- package/lib/components/helpers/auth.d.ts +8 -6
- package/lib/components/helpers/auth.d.ts.map +1 -1
- package/lib/components/helpers/auth.js +642 -327
- package/lib/components/helpers/auth.js.map +1 -1
- package/lib/components/helpers/authManager.d.ts +20 -17
- package/lib/components/helpers/authManager.d.ts.map +1 -1
- package/lib/components/helpers/authManager.js +713 -438
- package/lib/components/helpers/authManager.js.map +1 -1
- package/lib/components/helpers/case-utils.d.ts +20 -0
- package/lib/components/helpers/case-utils.d.ts.map +1 -0
- package/lib/components/helpers/case-utils.js +82 -0
- package/lib/components/helpers/case-utils.js.map +1 -0
- package/lib/components/helpers/common-utils.d.ts +2 -0
- package/lib/components/helpers/common-utils.d.ts.map +1 -0
- package/lib/components/helpers/common-utils.js +5 -0
- package/lib/components/helpers/common-utils.js.map +1 -0
- package/lib/components/helpers/config_access.d.ts.map +1 -1
- package/lib/components/helpers/config_access.js +28 -98
- package/lib/components/helpers/config_access.js.map +1 -1
- package/lib/components/helpers/data_page.d.ts.map +1 -1
- package/lib/components/helpers/data_page.js.map +1 -1
- package/lib/components/helpers/date-format-utils.d.ts +1 -6
- package/lib/components/helpers/date-format-utils.d.ts.map +1 -1
- package/lib/components/helpers/date-format-utils.js +23 -14
- package/lib/components/helpers/date-format-utils.js.map +1 -1
- package/lib/components/helpers/event-utils.d.ts +1 -1
- package/lib/components/helpers/event-utils.d.ts.map +1 -1
- package/lib/components/helpers/event-utils.js.map +1 -1
- package/lib/components/helpers/field-group-utils.d.ts +15 -2
- package/lib/components/helpers/field-group-utils.d.ts.map +1 -1
- package/lib/components/helpers/field-group-utils.js +3 -3
- package/lib/components/helpers/field-group-utils.js.map +1 -1
- package/lib/components/helpers/formatters/Boolean.d.ts +3 -3
- package/lib/components/helpers/formatters/Boolean.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Boolean.js.map +1 -1
- package/lib/components/helpers/formatters/Currency.d.ts +6 -6
- package/lib/components/helpers/formatters/Currency.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Currency.js +6 -5
- package/lib/components/helpers/formatters/Currency.js.map +1 -1
- package/lib/components/helpers/formatters/CurrencyMap.d.ts +881 -1399
- package/lib/components/helpers/formatters/CurrencyMap.d.ts.map +1 -1
- package/lib/components/helpers/formatters/CurrencyMap.js.map +1 -1
- package/lib/components/helpers/formatters/Date.d.ts +4 -4
- package/lib/components/helpers/formatters/Date.d.ts.map +1 -1
- package/lib/components/helpers/formatters/Date.js +1 -1
- package/lib/components/helpers/formatters/Date.js.map +1 -1
- package/lib/components/helpers/formatters/common.d.ts +2 -2
- package/lib/components/helpers/formatters/common.d.ts.map +1 -1
- package/lib/components/helpers/formatters/common.js +4 -5
- package/lib/components/helpers/formatters/common.js.map +1 -1
- package/lib/components/helpers/formatters/index.d.ts +11 -11
- package/lib/components/helpers/formatters/index.d.ts.map +1 -1
- package/lib/components/helpers/formatters/index.js.map +1 -1
- package/lib/components/helpers/reactContextHelpers.d.ts +3 -2
- package/lib/components/helpers/reactContextHelpers.d.ts.map +1 -1
- package/lib/components/helpers/reactContextHelpers.js.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.d.ts +5 -3
- package/lib/components/helpers/simpleTableHelpers.d.ts.map +1 -1
- package/lib/components/helpers/simpleTableHelpers.js +10 -5
- package/lib/components/helpers/simpleTableHelpers.js.map +1 -1
- package/lib/components/helpers/state-utils.d.ts +4 -0
- package/lib/components/helpers/state-utils.d.ts.map +1 -0
- package/lib/components/helpers/state-utils.js +36 -0
- package/lib/components/helpers/state-utils.js.map +1 -0
- package/lib/components/helpers/template-utils.d.ts +7 -3
- package/lib/components/helpers/template-utils.d.ts.map +1 -1
- package/lib/components/helpers/template-utils.js.map +1 -1
- package/lib/components/helpers/utils.d.ts +1 -1
- package/lib/components/helpers/utils.d.ts.map +1 -1
- package/lib/components/helpers/utils.js +9 -3
- package/lib/components/helpers/utils.js.map +1 -1
- package/lib/components/helpers/versionHelpers.d.ts.map +1 -1
- package/lib/components/helpers/versionHelpers.js.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.d.ts +6 -13
- package/lib/components/infra/ActionButtons/ActionButtons.d.ts.map +1 -1
- package/lib/components/infra/ActionButtons/ActionButtons.js +5 -15
- package/lib/components/infra/ActionButtons/ActionButtons.js.map +1 -1
- package/lib/components/infra/Assignment/Assignment.d.ts +9 -14
- package/lib/components/infra/Assignment/Assignment.d.ts.map +1 -1
- package/lib/components/infra/Assignment/Assignment.js +32 -33
- package/lib/components/infra/Assignment/Assignment.js.map +1 -1
- package/lib/components/infra/AssignmentCard/AssignmentCard.d.ts +8 -14
- package/lib/components/infra/AssignmentCard/AssignmentCard.d.ts.map +1 -1
- package/lib/components/infra/AssignmentCard/AssignmentCard.js +3 -16
- package/lib/components/infra/AssignmentCard/AssignmentCard.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts +1 -21
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js +53 -52
- package/lib/components/infra/Containers/FlowContainer/FlowContainer.js.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/helpers.d.ts +12 -12
- package/lib/components/infra/Containers/FlowContainer/helpers.d.ts.map +1 -1
- package/lib/components/infra/Containers/FlowContainer/helpers.js +17 -16
- package/lib/components/infra/Containers/FlowContainer/helpers.js.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts +8 -17
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js +22 -24
- package/lib/components/infra/Containers/ModalViewContainer/ModalViewContainer.js.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts +9 -22
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.d.ts.map +1 -1
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js +7 -22
- package/lib/components/infra/Containers/ViewContainer/ViewContainer.js.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.d.ts +9 -19
- package/lib/components/infra/DashboardFilter/DashboardFilter.d.ts.map +1 -1
- package/lib/components/infra/DashboardFilter/DashboardFilter.js +2 -16
- package/lib/components/infra/DashboardFilter/DashboardFilter.js.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.d.ts.map +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.js +1 -1
- package/lib/components/infra/DashboardFilter/filterUtils.js.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.d.ts +1 -14
- package/lib/components/infra/DeferLoad/DeferLoad.d.ts.map +1 -1
- package/lib/components/infra/DeferLoad/DeferLoad.js +13 -15
- package/lib/components/infra/DeferLoad/DeferLoad.js.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts +5 -12
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js +9 -16
- package/lib/components/infra/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/infra/MultiStep/MultiStep.d.ts +11 -17
- package/lib/components/infra/MultiStep/MultiStep.d.ts.map +1 -1
- package/lib/components/infra/MultiStep/MultiStep.js +6 -20
- package/lib/components/infra/MultiStep/MultiStep.js.map +1 -1
- package/lib/components/infra/NavBar/NavBar.d.ts +8 -16
- package/lib/components/infra/NavBar/NavBar.d.ts.map +1 -1
- package/lib/components/infra/NavBar/NavBar.js +9 -20
- package/lib/components/infra/NavBar/NavBar.js.map +1 -1
- package/lib/components/infra/Reference/Reference.d.ts +8 -17
- package/lib/components/infra/Reference/Reference.d.ts.map +1 -1
- package/lib/components/infra/Reference/Reference.js +1 -15
- package/lib/components/infra/Reference/Reference.js.map +1 -1
- package/lib/components/infra/Region/Region.d.ts +4 -7
- package/lib/components/infra/Region/Region.d.ts.map +1 -1
- package/lib/components/infra/Region/Region.js +0 -4
- package/lib/components/infra/Region/Region.js.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.d.ts +1 -21
- package/lib/components/infra/RootContainer/RootContainer.d.ts.map +1 -1
- package/lib/components/infra/RootContainer/RootContainer.js +16 -36
- package/lib/components/infra/RootContainer/RootContainer.js.map +1 -1
- package/lib/components/infra/Stages/Stages.d.ts +5 -8
- package/lib/components/infra/Stages/Stages.d.ts.map +1 -1
- package/lib/components/infra/Stages/Stages.js +3 -7
- package/lib/components/infra/Stages/Stages.js.map +1 -1
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.d.ts.map +1 -1
- package/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.js.map +1 -1
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.d.ts +4 -10
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.d.ts.map +1 -1
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js +4 -9
- package/lib/components/infra/VerticalTabs/VerticalTabs/VerticalTabs.js.map +1 -1
- package/lib/components/infra/View/View.d.ts +13 -16
- package/lib/components/infra/View/View.d.ts.map +1 -1
- package/lib/components/infra/View/View.js +8 -54
- package/lib/components/infra/View/View.js.map +1 -1
- package/lib/components/template/AppShell/AppShell.d.ts +20 -15
- package/lib/components/template/AppShell/AppShell.d.ts.map +1 -1
- package/lib/components/template/AppShell/AppShell.js +17 -29
- package/lib/components/template/AppShell/AppShell.js.map +1 -1
- package/lib/components/template/BannerPage/BannerPage.d.ts +11 -23
- package/lib/components/template/BannerPage/BannerPage.d.ts.map +1 -1
- package/lib/components/template/BannerPage/BannerPage.js +4 -22
- package/lib/components/template/BannerPage/BannerPage.js.map +1 -1
- package/lib/components/template/CaseSummary/CaseSummary.d.ts +5 -7
- package/lib/components/template/CaseSummary/CaseSummary.d.ts.map +1 -1
- package/lib/components/template/CaseSummary/CaseSummary.js +6 -6
- package/lib/components/template/CaseSummary/CaseSummary.js.map +1 -1
- package/lib/components/template/CaseView/CaseView.d.ts +10 -22
- package/lib/components/template/CaseView/CaseView.d.ts.map +1 -1
- package/lib/components/template/CaseView/CaseView.js +41 -45
- package/lib/components/template/CaseView/CaseView.js.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts +8 -13
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.d.ts.map +1 -1
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js +9 -16
- package/lib/components/template/CaseViewActionsMenu/CaseViewActionsMenu.js.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.d.ts +10 -16
- package/lib/components/template/Confirmation/Confirmation.d.ts.map +1 -1
- package/lib/components/template/Confirmation/Confirmation.js +12 -23
- package/lib/components/template/Confirmation/Confirmation.js.map +1 -1
- package/lib/components/template/DataReference/DataReference.d.ts +1 -31
- package/lib/components/template/DataReference/DataReference.d.ts.map +1 -1
- package/lib/components/template/DataReference/DataReference.js +41 -48
- package/lib/components/template/DataReference/DataReference.js.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.d.ts +1 -11
- package/lib/components/template/DefaultForm/DefaultForm.d.ts.map +1 -1
- package/lib/components/template/DefaultForm/DefaultForm.js +18 -15
- package/lib/components/template/DefaultForm/DefaultForm.js.map +1 -1
- package/lib/components/template/DefaultForm/utils/index.d.ts +3 -0
- package/lib/components/template/DefaultForm/utils/index.d.ts.map +1 -0
- package/lib/components/template/DefaultForm/utils/index.js +27 -0
- package/lib/components/template/DefaultForm/utils/index.js.map +1 -0
- package/lib/components/template/Details/Details/Details.d.ts +1 -16
- package/lib/components/template/Details/Details/Details.d.ts.map +1 -1
- package/lib/components/template/Details/Details/Details.js +10 -15
- package/lib/components/template/Details/Details/Details.js.map +1 -1
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.d.ts +7 -15
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.d.ts.map +1 -1
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js +1 -13
- package/lib/components/template/Details/DetailsSubTabs/DetailsSubTabs.js.map +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.d.ts +1 -16
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.d.ts.map +1 -1
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js +14 -16
- package/lib/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.js.map +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.d.ts +1 -16
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.d.ts.map +1 -1
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js +14 -16
- package/lib/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.js.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts +12 -19
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.d.ts.map +1 -1
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js +7 -21
- package/lib/components/template/FieldGroupTemplate/FieldGroupTemplate.js.map +1 -1
- package/lib/components/template/InlineDashboard/InlineDashboard.d.ts +7 -7
- package/lib/components/template/InlineDashboard/InlineDashboard.d.ts.map +1 -1
- package/lib/components/template/InlineDashboard/InlineDashboard.js +0 -5
- package/lib/components/template/InlineDashboard/InlineDashboard.js.map +1 -1
- package/lib/components/template/InlineDashboardPage/InlineDashboardPage.d.ts +8 -15
- package/lib/components/template/InlineDashboardPage/InlineDashboardPage.d.ts.map +1 -1
- package/lib/components/template/InlineDashboardPage/InlineDashboardPage.js +5 -14
- package/lib/components/template/InlineDashboardPage/InlineDashboardPage.js.map +1 -1
- package/lib/components/template/ListPage/ListPage.d.ts +5 -13
- package/lib/components/template/ListPage/ListPage.d.ts.map +1 -1
- package/lib/components/template/ListPage/ListPage.js +6 -10
- package/lib/components/template/ListPage/ListPage.js.map +1 -1
- package/lib/components/template/ListView/DefaultViewMeta.d.ts +1 -90
- package/lib/components/template/ListView/DefaultViewMeta.d.ts.map +1 -1
- package/lib/components/template/ListView/DefaultViewMeta.js.map +1 -1
- package/lib/components/template/ListView/ListView.d.ts +1 -9
- package/lib/components/template/ListView/ListView.d.ts.map +1 -1
- package/lib/components/template/ListView/ListView.js +127 -123
- package/lib/components/template/ListView/ListView.js.map +1 -1
- package/lib/components/template/ListView/hooks.d.ts.map +1 -1
- package/lib/components/template/ListView/hooks.js +0 -1
- package/lib/components/template/ListView/hooks.js.map +1 -1
- package/lib/components/template/ListView/utils.d.ts +72 -16
- package/lib/components/template/ListView/utils.d.ts.map +1 -1
- package/lib/components/template/ListView/utils.js +143 -3
- package/lib/components/template/ListView/utils.js.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts +9 -13
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.d.ts.map +1 -1
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js +2 -13
- package/lib/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.js.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWide/NarrowWide.d.ts +10 -1
- package/lib/components/template/NarrowWide/NarrowWide/NarrowWide.d.ts.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWide/NarrowWide.js.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.d.ts +1 -16
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.d.ts.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js +14 -16
- package/lib/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.js.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.d.ts +5 -1
- package/lib/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.d.ts.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.js.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.d.ts +7 -14
- package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.d.ts.map +1 -1
- package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.js +4 -13
- package/lib/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.js.map +1 -1
- package/lib/components/template/OneColumn/OneColumn/OneColumn.d.ts +4 -7
- package/lib/components/template/OneColumn/OneColumn/OneColumn.d.ts.map +1 -1
- package/lib/components/template/OneColumn/OneColumn/OneColumn.js +0 -5
- package/lib/components/template/OneColumn/OneColumn/OneColumn.js.map +1 -1
- package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.d.ts +4 -8
- package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.d.ts.map +1 -1
- package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.js +3 -6
- package/lib/components/template/OneColumn/OneColumnPage/OneColumnPage.js.map +1 -1
- package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.d.ts +4 -7
- package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.d.ts.map +1 -1
- package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.js +0 -5
- package/lib/components/template/OneColumn/OneColumnTab/OneColumnTab.js.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.d.ts +1 -15
- package/lib/components/template/PromotedFilters/PromotedFilters.d.ts.map +1 -1
- package/lib/components/template/PromotedFilters/PromotedFilters.js +17 -13
- package/lib/components/template/PromotedFilters/PromotedFilters.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js +57 -5
- package/lib/components/template/SimpleTable/SimpleTable/SimpleTable.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts +18 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js +5 -5
- package/lib/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.js.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.d.ts +1 -29
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.d.ts.map +1 -1
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.js +22 -28
- package/lib/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.js.map +1 -1
- package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.d.ts +14 -26
- package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.d.ts.map +1 -1
- package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.js +5 -26
- package/lib/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.js.map +1 -1
- package/lib/components/template/SubTabs/SubTabs.d.ts +4 -10
- package/lib/components/template/SubTabs/SubTabs.d.ts.map +1 -1
- package/lib/components/template/SubTabs/SubTabs.js +1 -8
- package/lib/components/template/SubTabs/SubTabs.js.map +1 -1
- package/lib/components/template/SubTabs/tabUtils.d.ts.map +1 -1
- package/lib/components/template/SubTabs/tabUtils.js.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.d.ts +5 -11
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.d.ts.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js +1 -12
- package/lib/components/template/TwoColumn/TwoColumn/TwoColumn.js.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.d.ts +4 -8
- package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.d.ts.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.js +3 -6
- package/lib/components/template/TwoColumn/TwoColumnPage/TwoColumnPage.js.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.d.ts +5 -11
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.d.ts.map +1 -1
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js +1 -9
- package/lib/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.js.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.d.ts +10 -1
- package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.d.ts.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.js +1 -1
- package/lib/components/template/WideNarrow/WideNarrow/WideNarrow.js.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.d.ts +1 -16
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.d.ts.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js +31 -23
- package/lib/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.js.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.d.ts +5 -1
- package/lib/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.d.ts.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.js.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.d.ts +7 -14
- package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.d.ts.map +1 -1
- package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.js +4 -14
- package/lib/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.js.map +1 -1
- package/lib/components/template/WssNavBar/WssNavBar.d.ts +17 -1
- package/lib/components/template/WssNavBar/WssNavBar.d.ts.map +1 -1
- package/lib/components/template/WssNavBar/WssNavBar.js +2 -2
- package/lib/components/template/WssNavBar/WssNavBar.js.map +1 -1
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.d.ts +8 -17
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.d.ts.map +1 -1
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.js +4 -19
- package/lib/components/widget/AppAnnouncement/AppAnnouncement.js.map +1 -1
- package/lib/components/widget/Attachment/Attachment.css +15 -3
- package/lib/components/widget/Attachment/Attachment.d.ts.map +1 -1
- package/lib/components/widget/Attachment/Attachment.js +44 -32
- package/lib/components/widget/Attachment/Attachment.js.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.d.ts +4 -7
- package/lib/components/widget/CaseHistory/CaseHistory.d.ts.map +1 -1
- package/lib/components/widget/CaseHistory/CaseHistory.js +4 -8
- package/lib/components/widget/CaseHistory/CaseHistory.js.map +1 -1
- package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts +8 -1
- package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.d.ts.map +1 -1
- package/lib/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.js.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts +5 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.d.ts.map +1 -1
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js +33 -23
- package/lib/components/widget/FileUtility/FileUtility/FileUtility.js.map +1 -1
- package/lib/components/widget/Followers/Followers.d.ts +4 -5
- package/lib/components/widget/Followers/Followers.d.ts.map +1 -1
- package/lib/components/widget/Followers/Followers.js +3 -10
- package/lib/components/widget/Followers/Followers.js.map +1 -1
- package/lib/components/widget/QuickCreate/QuickCreate.d.ts.map +1 -1
- package/lib/components/widget/QuickCreate/QuickCreate.js +12 -4
- package/lib/components/widget/QuickCreate/QuickCreate.js.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.d.ts +7 -1
- package/lib/components/widget/SummaryItem/SummaryItem.d.ts.map +1 -1
- package/lib/components/widget/SummaryItem/SummaryItem.js +2 -2
- package/lib/components/widget/SummaryItem/SummaryItem.js.map +1 -1
- package/lib/components/widget/SummaryList/SummaryList.d.ts +7 -1
- package/lib/components/widget/SummaryList/SummaryList.d.ts.map +1 -1
- package/lib/components/widget/SummaryList/SummaryList.js +5 -2
- package/lib/components/widget/SummaryList/SummaryList.js.map +1 -1
- package/lib/components/widget/ToDo/ToDo.d.ts +13 -27
- package/lib/components/widget/ToDo/ToDo.d.ts.map +1 -1
- package/lib/components/widget/ToDo/ToDo.js +35 -67
- package/lib/components/widget/ToDo/ToDo.js.map +1 -1
- package/lib/components_map.d.ts +3 -3
- package/lib/components_map.d.ts.map +1 -1
- package/lib/components_map.js +819 -818
- package/lib/components_map.js.map +1 -1
- package/lib/doc/KeyReleaseUpdates.md +65 -9
- package/lib/hooks/index.d.ts +4 -0
- package/lib/hooks/index.d.ts.map +1 -0
- package/lib/hooks/index.js +4 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/useAfterInitialEffect.d.ts +9 -0
- package/lib/hooks/useAfterInitialEffect.d.ts.map +1 -0
- package/lib/hooks/useAfterInitialEffect.js +16 -0
- package/lib/hooks/useAfterInitialEffect.js.map +1 -0
- package/lib/hooks/useConsolidatedRef.d.ts +9 -0
- package/lib/hooks/useConsolidatedRef.d.ts.map +1 -0
- package/lib/hooks/useConsolidatedRef.js +30 -0
- package/lib/hooks/useConsolidatedRef.js.map +1 -0
- package/lib/hooks/useUID.d.ts +8 -0
- package/lib/hooks/useUID.d.ts.map +1 -0
- package/lib/hooks/useUID.js +14 -0
- package/lib/hooks/useUID.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/sdk-pega-component-map.d.ts +15 -1
- package/lib/sdk-pega-component-map.js +15 -1
- package/lib/sdk-pega-component-map.js.map +1 -1
- package/lib/types/PConnProps.d.ts +42 -0
- package/package.json +1 -1
|
@@ -1,198 +1,665 @@
|
|
|
1
1
|
// This file wraps various calls related to logging in, logging out, etc.
|
|
2
2
|
// that use the auth.html/auth.js to do the work of logging in via OAuth 2.0.
|
|
3
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
6
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
9
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
10
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
11
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
12
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
13
|
+
};
|
|
14
|
+
var _AuthManager_instances, _AuthManager_ssKeyPrefix, _AuthManager_pegaAuth, _AuthManager_ssKeyConfigInfo, _AuthManager_ssKeySessionInfo, _AuthManager_ssKeyTokenInfo, _AuthManager_ssKeyState, _AuthManager_authConfig, _AuthManager_authDynState, _AuthManager_authHeader, _AuthManager_tokenInfo, _AuthManager_userInfo, _AuthManager_usePASS, _AuthManager_pageHideAdded, _AuthManager_tokenStorage, _AuthManager_transform, _AuthManager_foldSpot, _AuthManager_transformAndParse, _AuthManager_getStorage, _AuthManager_setStorage, _AuthManager_calcFoldSpot, _AuthManager_transformer, _AuthManager_doPageHide, _AuthManager_loadState, _AuthManager_doOnLoad, _AuthManager_doAuthDynStateChanged, _AuthManager_initialize, _AuthManager_constellationInit, _AuthManager_customConstellationInit, _AuthManager_fireTokenAvailable, _AuthManager_processTokenOnLogin, _AuthManager_updateLoginStatus, _AuthManager_authFullReauth, _AuthManager_authTokenUpdated;
|
|
15
|
+
// It utilizes a JS Class and private members to protect any sensitive tokens
|
|
16
|
+
// and token obfuscation routines
|
|
17
|
+
import { isEmptyObject } from './common-utils';
|
|
3
18
|
import { getSdkConfig, SdkConfigAccess } from './config_access';
|
|
4
19
|
import PegaAuth from './auth';
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
// will store the PegaAuth instance
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
// Meant to be a singleton...only one instance per page
|
|
21
|
+
class AuthManager {
|
|
22
|
+
constructor() {
|
|
23
|
+
_AuthManager_instances.add(this);
|
|
24
|
+
_AuthManager_ssKeyPrefix.set(this, 'rs');
|
|
25
|
+
// will store the PegaAuth (OAuth 2.0 client library) instance
|
|
26
|
+
_AuthManager_pegaAuth.set(this, null);
|
|
27
|
+
_AuthManager_ssKeyConfigInfo.set(this, '');
|
|
28
|
+
_AuthManager_ssKeySessionInfo.set(this, '');
|
|
29
|
+
_AuthManager_ssKeyTokenInfo.set(this, '');
|
|
30
|
+
_AuthManager_ssKeyState.set(this, `${__classPrivateFieldGet(this, _AuthManager_ssKeyPrefix, "f")}State`);
|
|
31
|
+
_AuthManager_authConfig.set(this, {});
|
|
32
|
+
_AuthManager_authDynState.set(this, {});
|
|
33
|
+
_AuthManager_authHeader.set(this, null);
|
|
34
|
+
// state that should be persisted across loads
|
|
35
|
+
Object.defineProperty(this, "state", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
configurable: true,
|
|
38
|
+
writable: true,
|
|
39
|
+
value: { usePopup: false, noInitialRedirect: false }
|
|
40
|
+
});
|
|
41
|
+
Object.defineProperty(this, "bC11NBootstrapInProgress", {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
configurable: true,
|
|
44
|
+
writable: true,
|
|
45
|
+
value: false
|
|
46
|
+
});
|
|
47
|
+
Object.defineProperty(this, "bCustomAuth", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true,
|
|
50
|
+
writable: true,
|
|
51
|
+
value: false
|
|
52
|
+
});
|
|
53
|
+
_AuthManager_tokenInfo.set(this, void 0);
|
|
54
|
+
_AuthManager_userInfo.set(this, void 0);
|
|
55
|
+
Object.defineProperty(this, "onLoadDone", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
configurable: true,
|
|
58
|
+
writable: true,
|
|
59
|
+
value: false
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(this, "msReauthStart", {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
configurable: true,
|
|
64
|
+
writable: true,
|
|
65
|
+
value: null
|
|
66
|
+
});
|
|
67
|
+
Object.defineProperty(this, "initInProgress", {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
configurable: true,
|
|
70
|
+
writable: true,
|
|
71
|
+
value: false
|
|
72
|
+
});
|
|
73
|
+
Object.defineProperty(this, "isLoggedIn", {
|
|
74
|
+
enumerable: true,
|
|
75
|
+
configurable: true,
|
|
76
|
+
writable: true,
|
|
77
|
+
value: false
|
|
78
|
+
});
|
|
79
|
+
// Whether to pass a session storage key or structure to auth library
|
|
80
|
+
_AuthManager_usePASS.set(this, false);
|
|
81
|
+
_AuthManager_pageHideAdded.set(this, false);
|
|
82
|
+
_AuthManager_tokenStorage.set(this, 'temp');
|
|
83
|
+
_AuthManager_transform.set(this, true);
|
|
84
|
+
_AuthManager_foldSpot.set(this, 2);
|
|
85
|
+
// Auth Manager specific state is saved within session storage as important in redirect and popup window scenarios
|
|
86
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_loadState).call(this);
|
|
24
87
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
88
|
+
// Setter for authHeader (no getter)
|
|
89
|
+
set authHeader(value) {
|
|
90
|
+
__classPrivateFieldSet(this, _AuthManager_authHeader, value, "f");
|
|
91
|
+
// setAuthorizationHeader method not available til 8.8 so do safety check
|
|
92
|
+
if (window.PCore?.getAuthUtils().setAuthorizationHeader) {
|
|
93
|
+
const authHdr = value === null ? '' : value;
|
|
94
|
+
window.PCore.getAuthUtils().setAuthorizationHeader(authHdr);
|
|
95
|
+
}
|
|
96
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_updateLoginStatus).call(this);
|
|
28
97
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
sessionStorage.setItem("rsdk_noRedirect", "1");
|
|
98
|
+
// Setter/getter for usePopupForRestOfSession
|
|
99
|
+
set usePopupForRestOfSession(usePopup) {
|
|
100
|
+
this.state.usePopup = usePopup;
|
|
101
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"), this.state);
|
|
34
102
|
}
|
|
35
|
-
|
|
36
|
-
|
|
103
|
+
get usePopupForRestOfSession() {
|
|
104
|
+
return this.state.usePopup;
|
|
37
105
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
106
|
+
// Setter/getter for noInitialRedirect
|
|
107
|
+
set noInitialRedirect(bNoInitialRedirect) {
|
|
108
|
+
if (bNoInitialRedirect) {
|
|
109
|
+
this.usePopupForRestOfSession = true;
|
|
110
|
+
}
|
|
111
|
+
this.state.noInitialRedirect = bNoInitialRedirect;
|
|
112
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"), this.state);
|
|
45
113
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
114
|
+
get noInitialRedirect() {
|
|
115
|
+
return this.state.noInitialRedirect || false;
|
|
116
|
+
}
|
|
117
|
+
// Init/getter for loginStart
|
|
118
|
+
set loginStart(msValue) {
|
|
119
|
+
if (msValue) {
|
|
120
|
+
this.state.msLoginStart = msValue;
|
|
121
|
+
}
|
|
122
|
+
else if (this.state.msLoginStart) {
|
|
123
|
+
delete this.state.msLoginStart;
|
|
124
|
+
}
|
|
125
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"), this.state);
|
|
126
|
+
}
|
|
127
|
+
get loginStart() {
|
|
128
|
+
return this.state.msLoginStart || 0;
|
|
129
|
+
}
|
|
130
|
+
// Init/getter for reauthStart
|
|
131
|
+
set reauthStart(msValue) {
|
|
132
|
+
if (msValue) {
|
|
133
|
+
this.msReauthStart = msValue;
|
|
134
|
+
}
|
|
135
|
+
else if (this.msReauthStart) {
|
|
136
|
+
delete this.msReauthStart;
|
|
137
|
+
}
|
|
138
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"), this.state);
|
|
139
|
+
}
|
|
140
|
+
get reauthStart() {
|
|
141
|
+
return this.msReauthStart || 0;
|
|
142
|
+
}
|
|
143
|
+
// Setter for clientId
|
|
144
|
+
set keySuffix(s) {
|
|
145
|
+
this.state.sfx = s || undefined;
|
|
146
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"), this.state);
|
|
147
|
+
if (s) {
|
|
148
|
+
// To make it a bit more obtuse reverse the string and use that as the actual suffix
|
|
149
|
+
const sSfx = s.split("").reverse().join("");
|
|
150
|
+
__classPrivateFieldSet(this, _AuthManager_ssKeyConfigInfo, `${__classPrivateFieldGet(this, _AuthManager_ssKeyPrefix, "f")}CI_${sSfx}`, "f");
|
|
151
|
+
__classPrivateFieldSet(this, _AuthManager_ssKeySessionInfo, `${__classPrivateFieldGet(this, _AuthManager_ssKeyPrefix, "f")}SI_${sSfx}`, "f");
|
|
152
|
+
__classPrivateFieldSet(this, _AuthManager_ssKeyTokenInfo, `${__classPrivateFieldGet(this, _AuthManager_ssKeyPrefix, "f")}TI_${sSfx}`, "f");
|
|
153
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_calcFoldSpot).call(this, sSfx);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
isLoginExpired() {
|
|
157
|
+
let bExpired = true;
|
|
158
|
+
if (this.loginStart) {
|
|
159
|
+
const currTime = Date.now();
|
|
160
|
+
bExpired = currTime - this.loginStart > 60000;
|
|
161
|
+
}
|
|
162
|
+
return bExpired;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Clean up any session storage allocated for the user session.
|
|
166
|
+
*/
|
|
167
|
+
clear(bFullReauth = false) {
|
|
168
|
+
if (!this.bCustomAuth) {
|
|
169
|
+
__classPrivateFieldSet(this, _AuthManager_authHeader, null, "f");
|
|
170
|
+
}
|
|
171
|
+
if (!bFullReauth) {
|
|
172
|
+
if (__classPrivateFieldGet(this, _AuthManager_usePASS, "f")) {
|
|
173
|
+
sessionStorage.removeItem(__classPrivateFieldGet(this, _AuthManager_ssKeyConfigInfo, "f"));
|
|
91
174
|
}
|
|
92
|
-
|
|
93
|
-
|
|
175
|
+
else {
|
|
176
|
+
__classPrivateFieldSet(this, _AuthManager_authConfig, {}, "f");
|
|
177
|
+
__classPrivateFieldSet(this, _AuthManager_authDynState, {}, "f");
|
|
94
178
|
}
|
|
95
|
-
|
|
96
|
-
|
|
179
|
+
sessionStorage.removeItem(__classPrivateFieldGet(this, _AuthManager_ssKeySessionInfo, "f"));
|
|
180
|
+
}
|
|
181
|
+
// Clear any established auth tokens
|
|
182
|
+
__classPrivateFieldSet(this, _AuthManager_tokenInfo, null, "f");
|
|
183
|
+
sessionStorage.removeItem(__classPrivateFieldGet(this, _AuthManager_ssKeyTokenInfo, "f"));
|
|
184
|
+
this.loginStart = 0;
|
|
185
|
+
this.isLoggedIn = false;
|
|
186
|
+
// reset the initial redirect as well by using this setter
|
|
187
|
+
this.usePopupForRestOfSession = bFullReauth;
|
|
188
|
+
this.keySuffix = '';
|
|
189
|
+
}
|
|
190
|
+
updateRedirectUri(sRedirectUri) {
|
|
191
|
+
__classPrivateFieldGet(this, _AuthManager_authConfig, "f").redirectUri = sRedirectUri;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get available portals which supports SDK
|
|
195
|
+
* @returns list of available portals (portals other than excludingPortals list)
|
|
196
|
+
*/
|
|
197
|
+
async getAvailablePortals() {
|
|
198
|
+
return getSdkConfig().then(sdkConfig => {
|
|
199
|
+
const serverConfig = sdkConfig.serverConfig;
|
|
200
|
+
const userAccessGroup = PCore.getEnvironmentInfo().getAccessGroup();
|
|
201
|
+
const dataPageName = 'D_OperatorAccessGroups';
|
|
202
|
+
const serverUrl = serverConfig.infinityRestServerUrl;
|
|
203
|
+
const appAlias = serverConfig.appAlias;
|
|
204
|
+
const appAliasPath = appAlias ? `/app/${appAlias}` : '';
|
|
205
|
+
const arExcludedPortals = serverConfig['excludePortals'];
|
|
206
|
+
const headers = {
|
|
207
|
+
Authorization: __classPrivateFieldGet(this, _AuthManager_authHeader, "f") === null ? '' : __classPrivateFieldGet(this, _AuthManager_authHeader, "f"),
|
|
208
|
+
'Content-Type': 'application/json'
|
|
209
|
+
};
|
|
210
|
+
// Using v1 API here as v2 data_views is not able to access same data page currently. Should move to avoid having this logic to find
|
|
211
|
+
// a default portal or constellation portal and rather have Constellation JS Engine API just load the default portal
|
|
212
|
+
return fetch(`${serverUrl}${appAliasPath}/api/v1/data/${dataPageName}`, {
|
|
213
|
+
method: 'GET',
|
|
214
|
+
headers
|
|
215
|
+
})
|
|
216
|
+
.then(response => {
|
|
217
|
+
if (response.ok && response.status === 200) {
|
|
218
|
+
return response.json();
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
if (response.status === 401) {
|
|
222
|
+
// Might be either a real token expiration or revoke, but more likely that the "api" service package is misconfigured
|
|
223
|
+
throw new Error(`Attempt to access ${dataPageName} failed. The "api" service package is likely not configured to use "OAuth 2.0"`);
|
|
224
|
+
}
|
|
225
|
+
throw new Error(`HTTP Error: ${response.status}`);
|
|
226
|
+
}
|
|
227
|
+
})
|
|
228
|
+
.then(async (agData) => {
|
|
229
|
+
const arAccessGroups = agData.pxResults;
|
|
230
|
+
const availablePortals = [];
|
|
231
|
+
for (const ag of arAccessGroups) {
|
|
232
|
+
if (ag.pyAccessGroup === userAccessGroup) {
|
|
233
|
+
// eslint-disable-next-line no-console
|
|
234
|
+
console.error(`Default portal for current operator (${ag.pyPortal}) is not compatible with SDK.\nConsider using a different operator, adjusting the default portal for this operator, or using "appPortal" setting within sdk-config.json to specify a specific portal to load.`);
|
|
235
|
+
let portal = null;
|
|
236
|
+
for (portal of ag.pyUserPortals) {
|
|
237
|
+
if (!arExcludedPortals.includes(portal.pyPortalLayout)) {
|
|
238
|
+
availablePortals.push(portal.pyPortalLayout);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Found operator's current access group. Use its portal
|
|
245
|
+
// eslint-disable-next-line no-console
|
|
246
|
+
console.log(`Available portals: ${availablePortals}`);
|
|
247
|
+
return availablePortals;
|
|
248
|
+
})
|
|
249
|
+
.catch(e => {
|
|
250
|
+
// eslint-disable-next-line no-console
|
|
251
|
+
console.error(e.message);
|
|
252
|
+
// check specific error if 401, and wiped out if so stored token is stale. Fetch new tokens.
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
;
|
|
257
|
+
// TODO: Cope with 401 and refresh token if possible (or just hope that it succeeds during login)
|
|
258
|
+
/**
|
|
259
|
+
* Retrieve UserInfo for current authentication service
|
|
260
|
+
*/
|
|
261
|
+
getUserInfo() {
|
|
262
|
+
if (__classPrivateFieldGet(this, _AuthManager_userInfo, "f")) {
|
|
263
|
+
return __classPrivateFieldGet(this, _AuthManager_userInfo, "f");
|
|
264
|
+
}
|
|
265
|
+
return __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_initialize).call(this, false).then((aMgr) => {
|
|
266
|
+
return aMgr.getUserinfo(__classPrivateFieldGet(this, _AuthManager_tokenInfo, "f").access_token).then(data => {
|
|
267
|
+
__classPrivateFieldSet(this, _AuthManager_userInfo, data, "f");
|
|
268
|
+
return __classPrivateFieldGet(this, _AuthManager_userInfo, "f");
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
login(bFullReauth = false) {
|
|
273
|
+
if (this.bCustomAuth)
|
|
274
|
+
return;
|
|
275
|
+
// Needed so a redirect to login screen and back will know we are still in process of logging in
|
|
276
|
+
this.loginStart = Date.now();
|
|
277
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_initialize).call(this, !bFullReauth).then((aMgr) => {
|
|
278
|
+
const bMainRedirect = !this.noInitialRedirect;
|
|
279
|
+
const sdkConfigAuth = SdkConfigAccess.getSdkConfigAuth();
|
|
280
|
+
let sRedirectUri = sdkConfigAuth.redirectUri;
|
|
281
|
+
// If initial main redirect is OK, redirect to main page, otherwise will authorize in a popup window
|
|
282
|
+
if (bMainRedirect && !bFullReauth) {
|
|
283
|
+
// update redirect uri to be the root
|
|
284
|
+
this.updateRedirectUri(sRedirectUri);
|
|
285
|
+
aMgr.loginRedirect();
|
|
286
|
+
// Don't have token til after the redirect
|
|
287
|
+
return Promise.resolve(undefined);
|
|
97
288
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
289
|
+
else {
|
|
290
|
+
// Construct path to redirect uri
|
|
291
|
+
const nLastPathSep = sRedirectUri.lastIndexOf("/");
|
|
292
|
+
sRedirectUri = nLastPathSep !== -1 ? `${sRedirectUri.substring(0, nLastPathSep + 1)}auth.html` : `${sRedirectUri}/auth.html`;
|
|
293
|
+
// Set redirectUri to static auth.html
|
|
294
|
+
this.updateRedirectUri(sRedirectUri);
|
|
295
|
+
return new Promise((resolve, reject) => {
|
|
296
|
+
aMgr.login().then(token => {
|
|
297
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_processTokenOnLogin).call(this, token);
|
|
298
|
+
// this.getUserInfo();
|
|
299
|
+
resolve(token.access_token);
|
|
300
|
+
}).catch((e) => {
|
|
301
|
+
// Use setter to update state
|
|
302
|
+
this.loginStart = 0;
|
|
303
|
+
// eslint-disable-next-line no-console
|
|
304
|
+
console.log(e);
|
|
305
|
+
reject(e);
|
|
306
|
+
});
|
|
307
|
+
});
|
|
101
308
|
}
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
authRedirectCallback(href, fnLoggedInCB = null) {
|
|
312
|
+
// Get code from href and swap for token
|
|
313
|
+
const aHrefParts = href.split('?');
|
|
314
|
+
const urlParams = new URLSearchParams(aHrefParts.length > 1 ? `?${aHrefParts[1]}` : '');
|
|
315
|
+
const code = urlParams.get('code');
|
|
316
|
+
const state = urlParams.get('state');
|
|
317
|
+
// If state should also match before accepting code
|
|
318
|
+
if (code) {
|
|
319
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_initialize).call(this, false).then((aMgr) => {
|
|
320
|
+
if (aMgr.checkStateMatch(state)) {
|
|
321
|
+
aMgr.getToken(code).then(token => {
|
|
322
|
+
if (token && token.access_token) {
|
|
323
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_processTokenOnLogin).call(this, token, false);
|
|
324
|
+
// this.getUserInfo();
|
|
325
|
+
if (fnLoggedInCB) {
|
|
326
|
+
fnLoggedInCB(token.access_token);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
});
|
|
102
332
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
333
|
+
else {
|
|
334
|
+
const error = urlParams.get('error');
|
|
335
|
+
const errorDesc = urlParams.get('errorDesc');
|
|
336
|
+
fnLoggedInCB(null, error, errorDesc);
|
|
106
337
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
: sdkConfigAuth.redirectUri,
|
|
120
|
-
authService: sdkConfigAuth.authService,
|
|
121
|
-
appAlias: sdkConfigServer.appAlias || '',
|
|
122
|
-
useLocking: true
|
|
123
|
-
};
|
|
124
|
-
// If no clientId is specified assume not OAuth but custom auth
|
|
125
|
-
if (!authConfig.clientId) {
|
|
126
|
-
gbCustomAuth = true;
|
|
127
|
-
return;
|
|
338
|
+
}
|
|
339
|
+
loginIfNecessary(loginProps) {
|
|
340
|
+
const { appName, deferLogin, redirectDoneCB } = loginProps;
|
|
341
|
+
const noMainRedirect = !loginProps.mainRedirect;
|
|
342
|
+
// We need to load state before making any decisions
|
|
343
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_loadState).call(this);
|
|
344
|
+
// If no initial redirect status of page changed...clear AuthMgr
|
|
345
|
+
const currNoMainRedirect = this.noInitialRedirect;
|
|
346
|
+
if (appName !== this.state.appName || noMainRedirect !== currNoMainRedirect) {
|
|
347
|
+
this.clear(false);
|
|
348
|
+
this.state.appName = appName;
|
|
349
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"), this.state);
|
|
128
350
|
}
|
|
129
|
-
|
|
130
|
-
|
|
351
|
+
this.noInitialRedirect = noMainRedirect;
|
|
352
|
+
// If custom auth no need to do any OAuth logic
|
|
353
|
+
if (this.bCustomAuth) {
|
|
354
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_updateLoginStatus).call(this);
|
|
355
|
+
if (!window.PCore) {
|
|
356
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_customConstellationInit).call(this, () => {
|
|
357
|
+
// Fire the SdkCustomReauth event to indicate a new authHeader is needed. Event listener should invoke sdkSetAuthHeader
|
|
358
|
+
// to communicate the new token to sdk (and Constellation JS Engine)
|
|
359
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
360
|
+
const event = new CustomEvent('SdkCustomReauth', { detail: sdkSetAuthHeader });
|
|
361
|
+
document.dispatchEvent(event);
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
return;
|
|
131
365
|
}
|
|
132
|
-
if (
|
|
133
|
-
|
|
134
|
-
|
|
366
|
+
if (window.location.href.includes("?code")) {
|
|
367
|
+
// initialize authMgr (now initialize in constructor?)
|
|
368
|
+
return __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_initialize).call(this, false).then(() => {
|
|
369
|
+
const cbDefault = () => {
|
|
370
|
+
window.location.href = window.location.pathname;
|
|
371
|
+
};
|
|
372
|
+
// eslint-disable-next-line no-console
|
|
373
|
+
console.log('About to invoke PegaAuth authRedirectCallback');
|
|
374
|
+
this.authRedirectCallback(window.location.href, redirectDoneCB || cbDefault);
|
|
375
|
+
// });
|
|
376
|
+
});
|
|
135
377
|
}
|
|
136
|
-
if (
|
|
137
|
-
|
|
378
|
+
if (!deferLogin && (!this.loginStart || this.isLoginExpired())) {
|
|
379
|
+
return __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_initialize).call(this, false).then(() => {
|
|
380
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_updateLoginStatus).call(this);
|
|
381
|
+
if (this.isLoggedIn) {
|
|
382
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_fireTokenAvailable).call(this, __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f"));
|
|
383
|
+
// this.getUserInfo();
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
return this.login();
|
|
387
|
+
}
|
|
388
|
+
// });
|
|
389
|
+
});
|
|
138
390
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
391
|
+
}
|
|
392
|
+
logout() {
|
|
393
|
+
sessionStorage.removeItem('rsdk_portalName');
|
|
394
|
+
return new Promise((resolve) => {
|
|
395
|
+
const fnClearAndResolve = () => {
|
|
396
|
+
this.clear();
|
|
397
|
+
const event = new Event('SdkLoggedOut');
|
|
398
|
+
document.dispatchEvent(event);
|
|
399
|
+
resolve(null);
|
|
400
|
+
};
|
|
401
|
+
if (this.bCustomAuth) {
|
|
402
|
+
fnClearAndResolve();
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
405
|
+
if (__classPrivateFieldGet(this, _AuthManager_tokenInfo, "f") && __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f").access_token) {
|
|
406
|
+
if (window.PCore) {
|
|
407
|
+
window.PCore.getAuthUtils().revokeTokens().then(() => {
|
|
408
|
+
fnClearAndResolve();
|
|
409
|
+
}).catch(err => {
|
|
410
|
+
// eslint-disable-next-line no-console
|
|
411
|
+
console.log("Error:", err?.message);
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_initialize).call(this, false).then((aMgr) => {
|
|
416
|
+
aMgr.revokeTokens(__classPrivateFieldGet(this, _AuthManager_tokenInfo, "f").access_token, __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f").refresh_token)
|
|
417
|
+
.then(() => {
|
|
418
|
+
// Go to finally
|
|
419
|
+
})
|
|
420
|
+
.finally(() => {
|
|
421
|
+
fnClearAndResolve();
|
|
422
|
+
});
|
|
423
|
+
});
|
|
154
424
|
}
|
|
155
425
|
}
|
|
156
|
-
|
|
157
|
-
|
|
426
|
+
else {
|
|
427
|
+
fnClearAndResolve();
|
|
158
428
|
}
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
_AuthManager_ssKeyPrefix = new WeakMap(), _AuthManager_pegaAuth = new WeakMap(), _AuthManager_ssKeyConfigInfo = new WeakMap(), _AuthManager_ssKeySessionInfo = new WeakMap(), _AuthManager_ssKeyTokenInfo = new WeakMap(), _AuthManager_ssKeyState = new WeakMap(), _AuthManager_authConfig = new WeakMap(), _AuthManager_authDynState = new WeakMap(), _AuthManager_authHeader = new WeakMap(), _AuthManager_tokenInfo = new WeakMap(), _AuthManager_userInfo = new WeakMap(), _AuthManager_usePASS = new WeakMap(), _AuthManager_pageHideAdded = new WeakMap(), _AuthManager_tokenStorage = new WeakMap(), _AuthManager_transform = new WeakMap(), _AuthManager_foldSpot = new WeakMap(), _AuthManager_instances = new WeakSet(), _AuthManager_transformAndParse = function _AuthManager_transformAndParse(ssKey, ssItem, bForce = false) {
|
|
433
|
+
let obj = {};
|
|
434
|
+
try {
|
|
435
|
+
obj = JSON.parse(__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_transformer).call(this, ssKey, ssItem, false, bForce));
|
|
436
|
+
}
|
|
437
|
+
catch (e) {
|
|
438
|
+
// fall thru and return empty object
|
|
439
|
+
}
|
|
440
|
+
return obj;
|
|
441
|
+
}, _AuthManager_getStorage = function _AuthManager_getStorage(ssKey, sAttrib = null) {
|
|
442
|
+
const ssItem = ssKey ? window.sessionStorage.getItem(ssKey) : null;
|
|
443
|
+
let obj = {};
|
|
444
|
+
if (ssItem) {
|
|
445
|
+
try {
|
|
446
|
+
obj = JSON.parse(ssItem);
|
|
159
447
|
}
|
|
160
|
-
|
|
161
|
-
|
|
448
|
+
catch (e) {
|
|
449
|
+
obj = __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_transformAndParse).call(this, ssKey, ssItem, true);
|
|
162
450
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
|
|
451
|
+
}
|
|
452
|
+
return sAttrib ? obj[sAttrib] : obj;
|
|
453
|
+
}, _AuthManager_setStorage = function _AuthManager_setStorage(ssKey, obj) {
|
|
454
|
+
// Set storage only if obj is not empty, else delete the storage
|
|
455
|
+
if (!obj || isEmptyObject(obj)) {
|
|
456
|
+
window.sessionStorage.removeItem(ssKey);
|
|
457
|
+
}
|
|
458
|
+
else {
|
|
459
|
+
// const bClear = (ssKey === this.#ssKeyState || ssKey === this.#ssKeySessionInfo);
|
|
460
|
+
const bClear = false;
|
|
461
|
+
const sValue = bClear ? JSON.stringify(obj) : __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_transformer).call(this, ssKey, JSON.stringify(obj), true);
|
|
462
|
+
window.sessionStorage.setItem(ssKey, sValue);
|
|
463
|
+
}
|
|
464
|
+
}, _AuthManager_calcFoldSpot = function _AuthManager_calcFoldSpot(s) {
|
|
465
|
+
const nOffset = 1;
|
|
466
|
+
const sChar = s.length > nOffset ? s.charAt(nOffset) : '2';
|
|
467
|
+
const nSpot = parseInt(sChar, 10);
|
|
468
|
+
__classPrivateFieldSet(this, _AuthManager_foldSpot, Number.isNaN(nSpot) ? 2 : (nSpot % 4) + 2, "f");
|
|
469
|
+
}, _AuthManager_transformer = function _AuthManager_transformer(ssKey, s, bIn, bForce = false) {
|
|
470
|
+
const bTransform = bForce || __classPrivateFieldGet(this, _AuthManager_transform, "f");
|
|
471
|
+
const fnFold = (x) => {
|
|
472
|
+
const nLen = x.length;
|
|
473
|
+
const nExtra = nLen % __classPrivateFieldGet(this, _AuthManager_foldSpot, "f");
|
|
474
|
+
const nOffset = Math.floor(nLen / __classPrivateFieldGet(this, _AuthManager_foldSpot, "f")) + nExtra;
|
|
475
|
+
const nRem = x.length - nOffset;
|
|
476
|
+
return x.substring(bIn ? nOffset : nRem) + x.substring(0, bIn ? nOffset : nRem);
|
|
477
|
+
};
|
|
478
|
+
const bTknInfo = ssKey === __classPrivateFieldGet(this, _AuthManager_ssKeyTokenInfo, "f");
|
|
479
|
+
if (bTknInfo && !bIn && bTransform) {
|
|
480
|
+
s = window.atob(fnFold(s));
|
|
481
|
+
}
|
|
482
|
+
// eslint-disable-next-line no-nested-ternary
|
|
483
|
+
let result = bTransform ? (bIn ? window.btoa(s) : window.atob(s)) : s;
|
|
484
|
+
if (bTknInfo && bIn && bTransform) {
|
|
485
|
+
result = fnFold(window.btoa(result));
|
|
486
|
+
}
|
|
487
|
+
return result;
|
|
488
|
+
}, _AuthManager_doPageHide = function _AuthManager_doPageHide() {
|
|
489
|
+
// Safari and particularly Safari on mobile devices doesn't seem to load this on first main redirect or
|
|
490
|
+
// reliably, so have moved to having PegaAuth manage writing all state props to session storage
|
|
491
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"), this.state);
|
|
492
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeySessionInfo, "f"), __classPrivateFieldGet(this, _AuthManager_authDynState, "f"));
|
|
493
|
+
// If tokenStorage was always, token would already be there
|
|
494
|
+
if (__classPrivateFieldGet(this, _AuthManager_tokenStorage, "f") === 'temp') {
|
|
495
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyTokenInfo, "f"), __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f"));
|
|
496
|
+
}
|
|
497
|
+
}, _AuthManager_loadState = function _AuthManager_loadState() {
|
|
498
|
+
// Note: State storage key doesn't have a client id associated with it
|
|
499
|
+
const oState = __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_getStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyState, "f"));
|
|
500
|
+
if (oState) {
|
|
501
|
+
Object.assign(this.state, oState);
|
|
502
|
+
if (this.state.sfx) {
|
|
503
|
+
// Setter sets up the ssKey values as well
|
|
504
|
+
this.keySuffix = this.state.sfx;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
}, _AuthManager_doOnLoad = function _AuthManager_doOnLoad() {
|
|
508
|
+
if (!this.onLoadDone) {
|
|
509
|
+
// This authConfig state doesn't collide with other calculated static state...so load it first
|
|
510
|
+
// Note: transform setting will have already been loaded into #authConfig at this point
|
|
511
|
+
__classPrivateFieldSet(this, _AuthManager_authDynState, __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_getStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeySessionInfo, "f")), "f");
|
|
512
|
+
__classPrivateFieldSet(this, _AuthManager_tokenInfo, __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_getStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyTokenInfo, "f")), "f");
|
|
513
|
+
if (__classPrivateFieldGet(this, _AuthManager_tokenStorage, "f") !== 'always') {
|
|
514
|
+
sessionStorage.removeItem(__classPrivateFieldGet(this, _AuthManager_ssKeyTokenInfo, "f"));
|
|
515
|
+
sessionStorage.removeItem(__classPrivateFieldGet(this, _AuthManager_ssKeySessionInfo, "f"));
|
|
516
|
+
}
|
|
517
|
+
this.onLoadDone = true;
|
|
518
|
+
}
|
|
519
|
+
}, _AuthManager_doAuthDynStateChanged = function _AuthManager_doAuthDynStateChanged() {
|
|
520
|
+
// If tokenStorage is setup for always then always persist the auth dynamic state as well
|
|
521
|
+
if (__classPrivateFieldGet(this, _AuthManager_tokenStorage, "f") === 'always') {
|
|
522
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeySessionInfo, "f"), __classPrivateFieldGet(this, _AuthManager_authDynState, "f"));
|
|
523
|
+
}
|
|
524
|
+
}, _AuthManager_initialize =
|
|
525
|
+
/**
|
|
526
|
+
* Initialize OAuth config structure members and create authMgr instance (if necessary)
|
|
527
|
+
* bNew - governs whether to create new sessionStorage or load existing one
|
|
528
|
+
*/
|
|
529
|
+
async function _AuthManager_initialize(bNew = false) {
|
|
167
530
|
return new Promise((resolve) => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
531
|
+
if (!this.initInProgress && (bNew || isEmptyObject(__classPrivateFieldGet(this, _AuthManager_authConfig, "f")) || !__classPrivateFieldGet(this, _AuthManager_pegaAuth, "f"))) {
|
|
532
|
+
this.initInProgress = true;
|
|
533
|
+
getSdkConfig().then(sdkConfig => {
|
|
534
|
+
const sdkConfigAuth = sdkConfig.authConfig;
|
|
535
|
+
const sdkConfigServer = sdkConfig.serverConfig;
|
|
536
|
+
let pegaUrl = sdkConfigServer.infinityRestServerUrl;
|
|
537
|
+
const bNoInitialRedirect = this.noInitialRedirect;
|
|
538
|
+
// Construct default OAuth endpoints (if not explicitly specified)
|
|
539
|
+
if (pegaUrl) {
|
|
540
|
+
// Cope with trailing slash being present
|
|
541
|
+
if (!pegaUrl.endsWith('/')) {
|
|
542
|
+
pegaUrl += '/';
|
|
543
|
+
}
|
|
544
|
+
if (!sdkConfigAuth.authorize) {
|
|
545
|
+
sdkConfigAuth.authorize = `${pegaUrl}PRRestService/oauth2/v1/authorize`;
|
|
546
|
+
}
|
|
547
|
+
if (!sdkConfigAuth.token) {
|
|
548
|
+
sdkConfigAuth.token = `${pegaUrl}PRRestService/oauth2/v1/token`;
|
|
549
|
+
}
|
|
550
|
+
if (!sdkConfigAuth.revoke) {
|
|
551
|
+
sdkConfigAuth.revoke = `${pegaUrl}PRRestService/oauth2/v1/revoke`;
|
|
552
|
+
}
|
|
553
|
+
if (!sdkConfigAuth.redirectUri) {
|
|
554
|
+
sdkConfigAuth.redirectUri = `${window.location.origin}${window.location.pathname}`;
|
|
555
|
+
}
|
|
556
|
+
if (!sdkConfigAuth.userinfo) {
|
|
557
|
+
const appAliasSeg = sdkConfigServer.appAlias ? `app/${sdkConfigServer.appAlias}/` : '';
|
|
558
|
+
sdkConfigAuth.userinfo = `${pegaUrl}${appAliasSeg}api/oauthclients/v1/userinfo/JSON`;
|
|
559
|
+
}
|
|
176
560
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
561
|
+
// Auth service alias
|
|
562
|
+
if (!sdkConfigAuth.authService) {
|
|
563
|
+
sdkConfigAuth.authService = "pega";
|
|
564
|
+
}
|
|
565
|
+
// mashupAuthService provides way to have a different auth service for embedded
|
|
566
|
+
if (!sdkConfigAuth.mashupAuthService) {
|
|
567
|
+
sdkConfigAuth.mashupAuthService = sdkConfigAuth.authService;
|
|
568
|
+
}
|
|
569
|
+
// Construct path to auth.html (used for case when not doing a main window redirect)
|
|
570
|
+
let sNoMainRedirectUri = sdkConfigAuth.redirectUri;
|
|
571
|
+
const nLastPathSep = sNoMainRedirectUri.lastIndexOf("/");
|
|
572
|
+
sNoMainRedirectUri = nLastPathSep !== -1 ? `${sNoMainRedirectUri.substring(0, nLastPathSep + 1)}auth.html` : `${sNoMainRedirectUri}/auth.html`;
|
|
573
|
+
const portalGrantType = sdkConfigAuth.portalGrantType || 'authCode';
|
|
574
|
+
const mashupGrantType = sdkConfigAuth.mashupGrantType || 'authCode';
|
|
575
|
+
const pegaAuthConfig = {
|
|
576
|
+
clientId: bNoInitialRedirect ? sdkConfigAuth.mashupClientId : sdkConfigAuth.portalClientId,
|
|
577
|
+
grantType: bNoInitialRedirect ? mashupGrantType : portalGrantType,
|
|
578
|
+
tokenUri: sdkConfigAuth.token,
|
|
579
|
+
revokeUri: sdkConfigAuth.revoke,
|
|
580
|
+
userinfoUri: sdkConfigAuth.userinfo,
|
|
581
|
+
authService: bNoInitialRedirect ? sdkConfigAuth.mashupAuthService : sdkConfigAuth.authService,
|
|
582
|
+
appAlias: sdkConfigServer.appAlias || '',
|
|
583
|
+
useLocking: true
|
|
584
|
+
};
|
|
585
|
+
// Invoke keySuffix setter
|
|
586
|
+
// Was using pegaAuthConfig.clientId as key but more secure to just use a random string as getting
|
|
587
|
+
// both a clientId and the refresh token could yield a new access token.
|
|
588
|
+
// Suffix is so we might in future move to an array of suffixes based on the appName, so might store
|
|
589
|
+
// both portal and embedded tokens/session info at same time
|
|
590
|
+
if (!this.state?.sfx) {
|
|
591
|
+
// Just using a random number to make the suffix unique on each session
|
|
592
|
+
this.keySuffix = `${Math.ceil(Math.random() * 100000000)}`;
|
|
593
|
+
}
|
|
594
|
+
__classPrivateFieldGet(this, _AuthManager_authConfig, "f").transform = sdkConfigAuth.transform !== undefined ? sdkConfigAuth.transform : __classPrivateFieldGet(this, _AuthManager_transform, "f");
|
|
595
|
+
// Using property in class as authConfig may be empty at times
|
|
596
|
+
__classPrivateFieldSet(this, _AuthManager_transform, __classPrivateFieldGet(this, _AuthManager_authConfig, "f").transform, "f");
|
|
597
|
+
if (sdkConfigAuth.tokenStorage !== undefined) {
|
|
598
|
+
__classPrivateFieldSet(this, _AuthManager_tokenStorage, sdkConfigAuth.tokenStorage, "f");
|
|
599
|
+
}
|
|
600
|
+
// Get latest state once client ids, transform and tokenStorage have been established
|
|
601
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_doOnLoad).call(this);
|
|
602
|
+
// If no clientId is specified assume not OAuth but custom auth
|
|
603
|
+
if (!pegaAuthConfig.clientId) {
|
|
604
|
+
this.bCustomAuth = true;
|
|
605
|
+
return;
|
|
606
|
+
}
|
|
607
|
+
if (pegaAuthConfig.grantType === 'authCode') {
|
|
608
|
+
const authCodeProps = {
|
|
609
|
+
authorizeUri: sdkConfigAuth.authorize,
|
|
610
|
+
// If we have already specified a redirect on the authorize redirect, we need to continue to use that
|
|
611
|
+
// on token endpoint
|
|
612
|
+
redirectUri: bNoInitialRedirect || this.usePopupForRestOfSession ? sNoMainRedirectUri : sdkConfigAuth.redirectUri
|
|
613
|
+
};
|
|
614
|
+
if ('silentTimeout' in sdkConfigAuth) {
|
|
615
|
+
authCodeProps.silentTimeout = sdkConfigAuth.silentTimeout;
|
|
616
|
+
}
|
|
617
|
+
if (bNoInitialRedirect && pegaAuthConfig.authService === 'pega' &&
|
|
618
|
+
sdkConfigAuth.mashupUserIdentifier && sdkConfigAuth.mashupPassword) {
|
|
619
|
+
authCodeProps.userIdentifier = sdkConfigAuth.mashupUserIdentifier;
|
|
620
|
+
authCodeProps.password = sdkConfigAuth.mashupPassword;
|
|
621
|
+
}
|
|
622
|
+
if ('iframeLoginUI' in sdkConfigAuth) {
|
|
623
|
+
authCodeProps.iframeLoginUI = sdkConfigAuth.iframeLoginUI.toString().toLowerCase() === 'true';
|
|
624
|
+
}
|
|
625
|
+
Object.assign(pegaAuthConfig, authCodeProps);
|
|
626
|
+
}
|
|
627
|
+
Object.assign(__classPrivateFieldGet(this, _AuthManager_authConfig, "f"), pegaAuthConfig);
|
|
628
|
+
// Add an on page hide handler to write out key properties that we want to survive a
|
|
629
|
+
// browser reload
|
|
630
|
+
if (!__classPrivateFieldGet(this, _AuthManager_pageHideAdded, "f") && (!__classPrivateFieldGet(this, _AuthManager_usePASS, "f") || __classPrivateFieldGet(this, _AuthManager_tokenStorage, "f") !== 'always')) {
|
|
631
|
+
window.addEventListener('pagehide', __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_doPageHide).bind(this));
|
|
632
|
+
__classPrivateFieldSet(this, _AuthManager_pageHideAdded, true, "f");
|
|
633
|
+
}
|
|
634
|
+
// Initialise PegaAuth OAuth 2.0 client library
|
|
635
|
+
if (__classPrivateFieldGet(this, _AuthManager_usePASS, "f")) {
|
|
636
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyConfigInfo, "f"), __classPrivateFieldGet(this, _AuthManager_authConfig, "f"));
|
|
637
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeySessionInfo, "f"), __classPrivateFieldGet(this, _AuthManager_authDynState, "f"));
|
|
638
|
+
__classPrivateFieldSet(this, _AuthManager_pegaAuth, new PegaAuth(__classPrivateFieldGet(this, _AuthManager_ssKeyConfigInfo, "f"), __classPrivateFieldGet(this, _AuthManager_ssKeySessionInfo, "f")), "f");
|
|
639
|
+
}
|
|
640
|
+
else {
|
|
641
|
+
__classPrivateFieldGet(this, _AuthManager_authConfig, "f").fnDynStateChangedCB = __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_doAuthDynStateChanged).bind(this);
|
|
642
|
+
__classPrivateFieldSet(this, _AuthManager_pegaAuth, new PegaAuth(__classPrivateFieldGet(this, _AuthManager_authConfig, "f"), __classPrivateFieldGet(this, _AuthManager_authDynState, "f")), "f");
|
|
643
|
+
}
|
|
644
|
+
this.initInProgress = false;
|
|
645
|
+
resolve(__classPrivateFieldGet(this, _AuthManager_pegaAuth, "f"));
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
let idNextCheck;
|
|
650
|
+
const fnCheckForAuthMgr = () => {
|
|
651
|
+
if (!this.initInProgress) {
|
|
652
|
+
if (idNextCheck) {
|
|
653
|
+
clearInterval(idNextCheck);
|
|
654
|
+
}
|
|
655
|
+
resolve(__classPrivateFieldGet(this, _AuthManager_pegaAuth, "f"));
|
|
656
|
+
}
|
|
657
|
+
};
|
|
658
|
+
fnCheckForAuthMgr();
|
|
659
|
+
idNextCheck = setInterval(fnCheckForAuthMgr, 100);
|
|
660
|
+
}
|
|
182
661
|
});
|
|
183
|
-
}
|
|
184
|
-
export const sdkGetAuthHeader = () => {
|
|
185
|
-
return sessionStorage.getItem("rsdk_AH");
|
|
186
|
-
};
|
|
187
|
-
/**
|
|
188
|
-
* Initiate the process to get the Constellation bootstrap shell loaded and initialized
|
|
189
|
-
* @param {Object} authConfig
|
|
190
|
-
* @param {Object} tokenInfo
|
|
191
|
-
* @param {Function} authTokenUpdated - callback invoked when Constellation JS Engine silently updates
|
|
192
|
-
* an expired access_token
|
|
193
|
-
* @param {Function} fnReauth - callback invoked when a full or custom reauth is needed
|
|
194
|
-
*/
|
|
195
|
-
const constellationInit = (authConfig, tokenInfo, authTokenUpdated, fnReauth) => {
|
|
662
|
+
}, _AuthManager_constellationInit = function _AuthManager_constellationInit(authConfig, tokenInfo, authTokenUpdated, fnReauth) {
|
|
196
663
|
const constellationBootConfig = {};
|
|
197
664
|
const sdkConfigServer = SdkConfigAccess.getSdkConfigServer();
|
|
198
665
|
// Set up constellationConfig with data that bootstrapWithAuthHeader expects
|
|
@@ -217,7 +684,7 @@ const constellationInit = (authConfig, tokenInfo, authTokenUpdated, fnReauth) =>
|
|
|
217
684
|
tokenInfo,
|
|
218
685
|
// Set whether we want constellation to try to do a full re-Auth or not ()
|
|
219
686
|
// true doesn't seem to be working in SDK scenario so always passing false for now
|
|
220
|
-
popupReauth: false /* !
|
|
687
|
+
popupReauth: false /* !this.noInitialRedirect */,
|
|
221
688
|
client_id: authConfig.clientId,
|
|
222
689
|
authentication_service: authConfig.authService,
|
|
223
690
|
redirect_uri: authConfig.redirectUri,
|
|
@@ -227,19 +694,19 @@ const constellationInit = (authConfig, tokenInfo, authTokenUpdated, fnReauth) =>
|
|
|
227
694
|
revoke: authConfig.revokeUri
|
|
228
695
|
},
|
|
229
696
|
// TODO: setup callback so we can update own storage
|
|
230
|
-
onTokenRetrieval:
|
|
697
|
+
onTokenRetrieval: __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_authTokenUpdated).bind(this)
|
|
231
698
|
};
|
|
232
699
|
}
|
|
233
700
|
else {
|
|
234
|
-
constellationBootConfig.authorizationHeader =
|
|
701
|
+
constellationBootConfig.authorizationHeader = __classPrivateFieldGet(this, _AuthManager_authHeader, "f");
|
|
235
702
|
}
|
|
236
703
|
// Turn off dynamic load components (should be able to do it here instead of after load?)
|
|
237
704
|
constellationBootConfig.dynamicLoadComponents = false;
|
|
238
|
-
if (
|
|
705
|
+
if (this.bC11NBootstrapInProgress) {
|
|
239
706
|
return;
|
|
240
707
|
}
|
|
241
708
|
else {
|
|
242
|
-
|
|
709
|
+
this.bC11NBootstrapInProgress = true;
|
|
243
710
|
}
|
|
244
711
|
// Note that staticContentServerUrl already ends with a slash (see above), so no slash added.
|
|
245
712
|
// In order to have this import succeed and to have it done with the webpackIgnore magic comment tag.
|
|
@@ -250,21 +717,18 @@ const constellationInit = (authConfig, tokenInfo, authTokenUpdated, fnReauth) =>
|
|
|
250
717
|
window.myLoadMashup = bootstrapShell.loadMashup;
|
|
251
718
|
window.myLoadPortal = bootstrapShell.loadPortal;
|
|
252
719
|
window.myLoadDefaultPortal = bootstrapShell.loadDefaultPortal;
|
|
253
|
-
bootstrapShell.bootstrapWithAuthHeader(constellationBootConfig, '
|
|
720
|
+
bootstrapShell.bootstrapWithAuthHeader(constellationBootConfig, 'pega-root').then(() => {
|
|
254
721
|
// eslint-disable-next-line no-console
|
|
255
|
-
console.log('
|
|
256
|
-
|
|
722
|
+
console.log('ConstellationJS bootstrap successful!');
|
|
723
|
+
this.bC11NBootstrapInProgress = false;
|
|
257
724
|
// Setup listener for the reauth event
|
|
258
725
|
if (tokenInfo) {
|
|
259
|
-
// eslint-disable-next-line no-undef
|
|
260
726
|
PCore.getPubSubUtils().subscribe(PCore.getConstants().PUB_SUB_EVENTS.EVENT_FULL_REAUTH, fnReauth, "authFullReauth");
|
|
261
727
|
}
|
|
262
728
|
else {
|
|
263
729
|
// customReauth event introduced with 8.8
|
|
264
|
-
// eslint-disable-next-line no-undef
|
|
265
730
|
const sEvent = PCore.getConstants().PUB_SUB_EVENTS.EVENT_CUSTOM_REAUTH;
|
|
266
731
|
if (sEvent) {
|
|
267
|
-
// eslint-disable-next-line no-undef
|
|
268
732
|
PCore.getPubSubUtils().subscribe(sEvent, fnReauth, "doReauth");
|
|
269
733
|
}
|
|
270
734
|
}
|
|
@@ -275,175 +739,94 @@ const constellationInit = (authConfig, tokenInfo, authTokenUpdated, fnReauth) =>
|
|
|
275
739
|
.catch(e => {
|
|
276
740
|
// Assume error caught is because token is not valid and attempt a full reauth
|
|
277
741
|
// eslint-disable-next-line no-console
|
|
278
|
-
console.error(`
|
|
279
|
-
|
|
742
|
+
console.error(`ConstellationJS bootstrap failed. ${e}`);
|
|
743
|
+
this.bC11NBootstrapInProgress = false;
|
|
280
744
|
fnReauth();
|
|
281
745
|
});
|
|
282
746
|
});
|
|
283
747
|
/* Ends here */
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
gbLoggedIn = sAuthHdr && sAuthHdr.length > 0;
|
|
288
|
-
};
|
|
289
|
-
const getCurrentTokens = () => {
|
|
290
|
-
let tokens = null;
|
|
291
|
-
const sTI = sessionStorage.getItem('rsdk_TI');
|
|
292
|
-
if (sTI) {
|
|
293
|
-
try {
|
|
294
|
-
tokens = JSON.parse(sTI);
|
|
295
|
-
}
|
|
296
|
-
catch (e) {
|
|
297
|
-
tokens = null;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
return tokens;
|
|
301
|
-
};
|
|
302
|
-
const fireTokenAvailable = (token, bLoadC11N = true) => {
|
|
748
|
+
}, _AuthManager_customConstellationInit = function _AuthManager_customConstellationInit(fnReauth) {
|
|
749
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_constellationInit).call(this, null, null, null, fnReauth);
|
|
750
|
+
}, _AuthManager_fireTokenAvailable = function _AuthManager_fireTokenAvailable(token, bLoadC11N = true) {
|
|
303
751
|
if (!token) {
|
|
304
752
|
// This is used on page reload to load the token from sessionStorage and carry on
|
|
305
|
-
token =
|
|
753
|
+
token = __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f");
|
|
306
754
|
if (!token) {
|
|
307
755
|
return;
|
|
308
756
|
}
|
|
309
757
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
gbLoggedIn = true;
|
|
314
|
-
gbLoginInProgress = false;
|
|
315
|
-
sessionStorage.removeItem("rsdk_loggingIn");
|
|
316
|
-
forcePopupForReauths(true);
|
|
317
|
-
const sSI = sessionStorage.getItem("rsdk_CI");
|
|
318
|
-
let authConfig = null;
|
|
319
|
-
if (sSI) {
|
|
320
|
-
try {
|
|
321
|
-
authConfig = JSON.parse(sSI);
|
|
322
|
-
}
|
|
323
|
-
catch (e) {
|
|
324
|
-
// do nothing
|
|
325
|
-
}
|
|
758
|
+
__classPrivateFieldSet(this, _AuthManager_tokenInfo, token, "f");
|
|
759
|
+
if (__classPrivateFieldGet(this, _AuthManager_tokenStorage, "f") === 'always') {
|
|
760
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyTokenInfo, "f"), __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f"));
|
|
326
761
|
}
|
|
762
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_updateLoginStatus).call(this);
|
|
763
|
+
// this.isLoggedIn is getting updated in updateLoginStatus
|
|
764
|
+
this.isLoggedIn = true;
|
|
765
|
+
this.loginStart = 0;
|
|
766
|
+
this.usePopupForRestOfSession = true;
|
|
327
767
|
if (!window.PCore && bLoadC11N) {
|
|
328
|
-
|
|
329
|
-
constellationInit(authConfig, token, authTokenUpdated, authFullReauth);
|
|
768
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_constellationInit).call(this, __classPrivateFieldGet(this, _AuthManager_authConfig, "f"), token, __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_authTokenUpdated).bind(this), __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_authFullReauth).bind(this));
|
|
330
769
|
}
|
|
331
770
|
/*
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
|
|
771
|
+
// Create and dispatch the SdkLoggedIn event to trigger constellationInit
|
|
772
|
+
const event = new CustomEvent('SdkLoggedIn', { detail: { authConfig, tokenInfo: token } });
|
|
773
|
+
document.dispatchEvent(event);
|
|
774
|
+
*/
|
|
775
|
+
}, _AuthManager_processTokenOnLogin = function _AuthManager_processTokenOnLogin(token, bLoadC11N = true) {
|
|
776
|
+
__classPrivateFieldSet(this, _AuthManager_tokenInfo, token, "f");
|
|
777
|
+
if (__classPrivateFieldGet(this, _AuthManager_tokenStorage, "f") === 'always') {
|
|
778
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_setStorage).call(this, __classPrivateFieldGet(this, _AuthManager_ssKeyTokenInfo, "f"), __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f"));
|
|
779
|
+
}
|
|
339
780
|
if (window.PCore) {
|
|
340
|
-
|
|
781
|
+
PCore.getAuthUtils().setTokens(token);
|
|
341
782
|
}
|
|
342
783
|
else {
|
|
343
|
-
|
|
784
|
+
__classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_fireTokenAvailable).call(this, token, bLoadC11N);
|
|
344
785
|
}
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
786
|
+
}, _AuthManager_updateLoginStatus = function _AuthManager_updateLoginStatus() {
|
|
787
|
+
if (!__classPrivateFieldGet(this, _AuthManager_authHeader, "f") && __classPrivateFieldGet(this, _AuthManager_tokenInfo, "f")?.access_token) {
|
|
788
|
+
// Use setter to set this securely
|
|
789
|
+
this.authHeader = `${__classPrivateFieldGet(this, _AuthManager_tokenInfo, "f").token_type} ${__classPrivateFieldGet(this, _AuthManager_tokenInfo, "f").access_token}`;
|
|
790
|
+
}
|
|
791
|
+
this.isLoggedIn = !!(__classPrivateFieldGet(this, _AuthManager_authHeader, "f") && __classPrivateFieldGet(this, _AuthManager_authHeader, "f").length > 0);
|
|
792
|
+
}, _AuthManager_authFullReauth = function _AuthManager_authFullReauth() {
|
|
793
|
+
const bHandleHere = true; // Other alternative is to raise an event and have someone else handle it
|
|
794
|
+
if (this.reauthStart) {
|
|
795
|
+
const reauthIgnoreInterval = 300000; // 5 minutes
|
|
796
|
+
const currTime = Date.now();
|
|
797
|
+
const bReauthInProgress = currTime - this.reauthStart <= reauthIgnoreInterval;
|
|
798
|
+
if (bReauthInProgress) {
|
|
799
|
+
return;
|
|
355
800
|
}
|
|
356
801
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
802
|
+
if (bHandleHere) {
|
|
803
|
+
// Don't want to do a full clear of authMgr as will loose state props (like sessionIndex). Rather just clear the tokens
|
|
804
|
+
this.clear(true);
|
|
805
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
806
|
+
login(true);
|
|
807
|
+
}
|
|
808
|
+
else {
|
|
809
|
+
// Fire the SdkFullReauth event to indicate a new token is needed (PCore.getAuthUtils.setTokens method
|
|
810
|
+
// should be used to communicate the new token to Constellation JS Engine.
|
|
811
|
+
const event = new CustomEvent('SdkFullReauth', { detail: __classPrivateFieldGet(this, _AuthManager_instances, "m", _AuthManager_processTokenOnLogin).bind(this) });
|
|
812
|
+
document.dispatchEvent(event);
|
|
813
|
+
}
|
|
814
|
+
}, _AuthManager_authTokenUpdated = function _AuthManager_authTokenUpdated(tokenInfo) {
|
|
815
|
+
__classPrivateFieldSet(this, _AuthManager_tokenInfo, tokenInfo, "f");
|
|
360
816
|
};
|
|
817
|
+
const gAuthMgr = new AuthManager();
|
|
361
818
|
// TODO: Cope with 401 and refresh token if possible (or just hope that it succeeds during login)
|
|
362
819
|
/**
|
|
363
820
|
* Retrieve UserInfo for current authentication service
|
|
364
821
|
*/
|
|
365
|
-
export const getUserInfo = (
|
|
366
|
-
|
|
367
|
-
let userInfo = null;
|
|
368
|
-
if (bUseSS && ssUserInfo) {
|
|
369
|
-
try {
|
|
370
|
-
userInfo = JSON.parse(ssUserInfo);
|
|
371
|
-
return Promise.resolve(userInfo);
|
|
372
|
-
}
|
|
373
|
-
catch (e) {
|
|
374
|
-
// do nothing
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
getAuthMgr(false).then((aMgr) => {
|
|
378
|
-
const tokenInfo = getCurrentTokens();
|
|
379
|
-
return aMgr.getUserinfo(tokenInfo.access_token).then(data => {
|
|
380
|
-
userInfo = data;
|
|
381
|
-
if (userInfo) {
|
|
382
|
-
sessionStorage.setItem("rsdk_UI", JSON.stringify(userInfo));
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
sessionStorage.removeItem("rsdk_UI");
|
|
386
|
-
}
|
|
387
|
-
return Promise.resolve(userInfo);
|
|
388
|
-
});
|
|
389
|
-
});
|
|
822
|
+
export const getUserInfo = () => {
|
|
823
|
+
return gAuthMgr.getUserInfo();
|
|
390
824
|
};
|
|
391
825
|
export const login = (bFullReauth = false) => {
|
|
392
|
-
|
|
393
|
-
return;
|
|
394
|
-
gbLoginInProgress = true;
|
|
395
|
-
// Needed so a redirect to login screen and back will know we are still in process of logging in
|
|
396
|
-
sessionStorage.setItem("rsdk_loggingIn", `${Date.now()}`);
|
|
397
|
-
getAuthMgr(!bFullReauth).then((aMgr) => {
|
|
398
|
-
const bMainRedirect = !authNoRedirect();
|
|
399
|
-
const sdkConfigAuth = SdkConfigAccess.getSdkConfigAuth();
|
|
400
|
-
let sRedirectUri = sdkConfigAuth.redirectUri;
|
|
401
|
-
// If initial main redirect is OK, redirect to main page, otherwise will authorize in a popup window
|
|
402
|
-
if (bMainRedirect && !bFullReauth) {
|
|
403
|
-
// update redirect uri to be the root
|
|
404
|
-
updateRedirectUri(aMgr, sRedirectUri);
|
|
405
|
-
aMgr.loginRedirect();
|
|
406
|
-
// Don't have token til after the redirect
|
|
407
|
-
return Promise.resolve(undefined);
|
|
408
|
-
}
|
|
409
|
-
else {
|
|
410
|
-
// Construct path to redirect uri
|
|
411
|
-
const nLastPathSep = sRedirectUri.lastIndexOf("/");
|
|
412
|
-
sRedirectUri = nLastPathSep !== -1 ? `${sRedirectUri.substring(0, nLastPathSep + 1)}auth.html` : `${sRedirectUri}/auth.html`;
|
|
413
|
-
// Set redirectUri to static auth.html
|
|
414
|
-
updateRedirectUri(aMgr, sRedirectUri);
|
|
415
|
-
return new Promise((resolve, reject) => {
|
|
416
|
-
aMgr.login().then(token => {
|
|
417
|
-
processTokenOnLogin(token);
|
|
418
|
-
// getUserInfo();
|
|
419
|
-
resolve(token.access_token);
|
|
420
|
-
}).catch((e) => {
|
|
421
|
-
gbLoginInProgress = false;
|
|
422
|
-
sessionStorage.removeItem("rsdk_loggingIn");
|
|
423
|
-
// eslint-disable-next-line no-console
|
|
424
|
-
console.log(e);
|
|
425
|
-
reject(e);
|
|
426
|
-
});
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
});
|
|
826
|
+
return gAuthMgr.login(bFullReauth);
|
|
430
827
|
};
|
|
431
828
|
export const authRedirectCallback = (href, fnLoggedInCB = null) => {
|
|
432
|
-
|
|
433
|
-
const aHrefParts = href.split('?');
|
|
434
|
-
const urlParams = new URLSearchParams(aHrefParts.length > 1 ? `?${aHrefParts[1]}` : '');
|
|
435
|
-
const code = urlParams.get("code");
|
|
436
|
-
getAuthMgr(false).then((aMgr) => {
|
|
437
|
-
aMgr.getToken(code).then(token => {
|
|
438
|
-
if (token && token.access_token) {
|
|
439
|
-
processTokenOnLogin(token, false);
|
|
440
|
-
// getUserInfo();
|
|
441
|
-
if (fnLoggedInCB) {
|
|
442
|
-
fnLoggedInCB(token.access_token);
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
});
|
|
446
|
-
});
|
|
829
|
+
gAuthMgr.authRedirectCallback(href, fnLoggedInCB);
|
|
447
830
|
};
|
|
448
831
|
/**
|
|
449
832
|
* Silent or visible login based on login status
|
|
@@ -452,138 +835,30 @@ export const authRedirectCallback = (href, fnLoggedInCB = null) => {
|
|
|
452
835
|
* away from the main page
|
|
453
836
|
* @param {boolean} deferLogin - defer logging in (if not already authenticated)
|
|
454
837
|
*/
|
|
455
|
-
export const loginIfNecessary = (
|
|
456
|
-
|
|
457
|
-
const currNoMainRedirect = authNoRedirect();
|
|
458
|
-
const currAppName = sessionStorage.getItem("rsdk_appName");
|
|
459
|
-
if (appName !== currAppName || noMainRedirect !== currNoMainRedirect) {
|
|
460
|
-
clearAuthMgr();
|
|
461
|
-
sessionStorage.setItem("rsdk_appName", appName);
|
|
462
|
-
}
|
|
463
|
-
setNoInitialRedirect(noMainRedirect);
|
|
464
|
-
// If custom auth no need to do any OAuth logic
|
|
465
|
-
if (gbCustomAuth) {
|
|
466
|
-
if (!window.PCore) {
|
|
467
|
-
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
468
|
-
constellationInit(null, null, null, authCustomReauth);
|
|
469
|
-
}
|
|
470
|
-
return;
|
|
471
|
-
}
|
|
472
|
-
if (window.location.href.indexOf("?code") !== -1) {
|
|
473
|
-
// initialize authMgr
|
|
474
|
-
initOAuth(false);
|
|
475
|
-
return getAuthMgr(false).then(() => {
|
|
476
|
-
authRedirectCallback(window.location.href, () => {
|
|
477
|
-
window.location.href = window.location.pathname;
|
|
478
|
-
});
|
|
479
|
-
});
|
|
480
|
-
}
|
|
481
|
-
if (!deferLogin && (!gbLoginInProgress || isLoginExpired())) {
|
|
482
|
-
initOAuth(false);
|
|
483
|
-
return getAuthMgr(false).then(() => {
|
|
484
|
-
updateLoginStatus();
|
|
485
|
-
if (gbLoggedIn) {
|
|
486
|
-
fireTokenAvailable(getCurrentTokens());
|
|
487
|
-
// getUserInfo();
|
|
488
|
-
}
|
|
489
|
-
else {
|
|
490
|
-
return login();
|
|
491
|
-
}
|
|
492
|
-
});
|
|
493
|
-
}
|
|
838
|
+
export const loginIfNecessary = (loginProps) => {
|
|
839
|
+
gAuthMgr.loginIfNecessary(loginProps);
|
|
494
840
|
};
|
|
495
841
|
export const getHomeUrl = () => {
|
|
496
842
|
return `${window.location.origin}/`;
|
|
497
843
|
};
|
|
498
844
|
export const authIsMainRedirect = () => {
|
|
499
845
|
// Even with main redirect, we want to use it only for the first login (so it doesn't wipe out any state or the reload)
|
|
500
|
-
return !
|
|
846
|
+
return !gAuthMgr.noInitialRedirect && !gAuthMgr.usePopupForRestOfSession;
|
|
501
847
|
};
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
sessionStorage.setItem("rsdk_TI", JSON.stringify(tokenInfo));
|
|
848
|
+
export const sdkIsLoggedIn = () => {
|
|
849
|
+
return gAuthMgr.isLoggedIn;
|
|
505
850
|
};
|
|
506
851
|
export const logout = () => {
|
|
507
|
-
|
|
508
|
-
return new Promise((resolve) => {
|
|
509
|
-
const fnClearAndResolve = () => {
|
|
510
|
-
clearAuthMgr();
|
|
511
|
-
const event = new Event('SdkLoggedOut');
|
|
512
|
-
document.dispatchEvent(event);
|
|
513
|
-
resolve();
|
|
514
|
-
};
|
|
515
|
-
if (gbCustomAuth) {
|
|
516
|
-
sessionStorage.removeItem("rsdk_AH");
|
|
517
|
-
fnClearAndResolve();
|
|
518
|
-
return;
|
|
519
|
-
}
|
|
520
|
-
const tokenInfo = getCurrentTokens();
|
|
521
|
-
if (tokenInfo && tokenInfo.access_token) {
|
|
522
|
-
if (window.PCore) {
|
|
523
|
-
window.PCore.getAuthUtils().revokeTokens().then(() => {
|
|
524
|
-
fnClearAndResolve();
|
|
525
|
-
}).catch(err => {
|
|
526
|
-
// eslint-disable-next-line no-console
|
|
527
|
-
console.log("Error:", err?.message);
|
|
528
|
-
});
|
|
529
|
-
}
|
|
530
|
-
else {
|
|
531
|
-
getAuthMgr(false).then((aMgr) => {
|
|
532
|
-
aMgr.revokeTokens(tokenInfo.access_token, tokenInfo.refresh_token)
|
|
533
|
-
.then(() => {
|
|
534
|
-
// Go to finally
|
|
535
|
-
})
|
|
536
|
-
.finally(() => {
|
|
537
|
-
fnClearAndResolve();
|
|
538
|
-
});
|
|
539
|
-
});
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
else {
|
|
543
|
-
fnClearAndResolve();
|
|
544
|
-
}
|
|
545
|
-
});
|
|
546
|
-
};
|
|
547
|
-
// Callback routine for custom event to ask for updated tokens
|
|
548
|
-
export const authUpdateTokens = (token) => {
|
|
549
|
-
processTokenOnLogin(token);
|
|
550
|
-
};
|
|
551
|
-
// Initiate a full OAuth re-authorization (any refresh token has also expired).
|
|
552
|
-
export const authFullReauth = () => {
|
|
553
|
-
const bHandleHere = true; // Other alternative is to raise an event and have someone else handle it
|
|
554
|
-
if (bHandleHere) {
|
|
555
|
-
// Don't want to do a full clear of authMgr as will loose sessionIndex. Rather just clear the tokens
|
|
556
|
-
clearAuthMgr(true);
|
|
557
|
-
login(true);
|
|
558
|
-
}
|
|
559
|
-
else {
|
|
560
|
-
// Fire the SdkFullReauth event to indicate a new token is needed (PCore.getAuthUtils.setTokens method
|
|
561
|
-
// should be used to communicate the new token to Constellation JS Engine.
|
|
562
|
-
const event = new CustomEvent('SdkFullReauth', { detail: authUpdateTokens });
|
|
563
|
-
document.dispatchEvent(event);
|
|
564
|
-
}
|
|
852
|
+
return gAuthMgr.logout();
|
|
565
853
|
};
|
|
566
854
|
// Set the custom authorization header for the SDK (and Constellation JS Engine) to
|
|
567
855
|
// utilize for every DX API request
|
|
568
856
|
export const sdkSetAuthHeader = (authHeader) => {
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
// setAuthorizationHeader method not available til 8.8 so do safety check
|
|
573
|
-
if (window.PCore?.getAuthUtils().setAuthorizationHeader) {
|
|
574
|
-
window.PCore.getAuthUtils().setAuthorizationHeader(authHeader);
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
else {
|
|
578
|
-
sessionStorage.removeItem("rsdk_AH");
|
|
579
|
-
}
|
|
580
|
-
gbCustomAuth = true;
|
|
857
|
+
gAuthMgr.bCustomAuth = !!authHeader;
|
|
858
|
+
// Use setter to set this securely
|
|
859
|
+
gAuthMgr.authHeader = authHeader;
|
|
581
860
|
};
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
// Fire the SdkCustomReauth event to indicate a new authHeader is needed. Event listener should invoke sdkSetAuthHeader
|
|
585
|
-
// to communicate the new token to sdk (and Constellation JS Engine)
|
|
586
|
-
const event = new CustomEvent('SdkCustomReauth', { detail: sdkSetAuthHeader });
|
|
587
|
-
document.dispatchEvent(event);
|
|
861
|
+
export const getAvailablePortals = async () => {
|
|
862
|
+
return gAuthMgr.getAvailablePortals();
|
|
588
863
|
};
|
|
589
864
|
//# sourceMappingURL=authManager.js.map
|