{"version":3,"file":"@route-login-frejaeid-acc4dcb8cddb88ce169b.bundle.js","mappings":"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","sources":["webpack://tiltid-modern/./packages/api/auth/freja-eid.ts","webpack://tiltid-modern/./packages/auth-portal/src/hooks/useFrejaEIdAuth.ts","webpack://tiltid-modern/./packages/auth-portal/src/routes/login/login-frejaeid.tsx"],"sourcesContent":["import { AxiosError } from 'axios';\r\nimport { apiUrl1, authHTTPClient } from './auth-client';\r\nimport { ICustomerBase, ISession, SESSION_HEADERS } from './session';\r\n\r\nexport interface IFrejaEIDAuthData {\r\n AuthRef: string;\r\n QrCode: string;\r\n}\r\n\r\nexport interface IFrejaEIDAuthResult {\r\n Status: FrejaEIDStatus;\r\n Customers: ICustomerBase[];\r\n}\r\n\r\nexport interface IFrejaEIdUserInfo {\r\n PersonId: string;\r\n EndOfLife: string;\r\n IsOrganisation: boolean;\r\n CustomerId: number;\r\n}\r\n\r\nexport enum FrejaEIDStatus {\r\n Started = 'STARTED',\r\n DeliveredToMobile = 'DELIVERED_TO_MOBILE',\r\n Canceled = 'CANCELED',\r\n RP_Canceled = 'RP_CANCELED',\r\n Expired = 'EXPIRED',\r\n Approved = 'APPROVED',\r\n Rejected = 'REJECTED'\r\n}\r\n\r\nexport enum FrejaAuthType {\r\n Personal = 1,\r\n Organization\r\n}\r\n\r\nexport async function initiateFrejaEIdAuth(authType: FrejaAuthType) {\r\n const { data } = await authHTTPClient.post(\r\n `${apiUrl1}/auth/freja?authType=${authType}`\r\n );\r\n return data;\r\n}\r\n\r\nexport async function collectFrejaEIdAuthState(authRef: string) {\r\n const { data } = await authHTTPClient.get(`${apiUrl1}/auth/freja/collect`, {\r\n params: { authRef }\r\n });\r\n return data;\r\n}\r\n\r\nexport async function finishFrejaEIdAuth(payload: { authRef: string; customerId: number }) {\r\n try {\r\n const { data } = await authHTTPClient.post(`${apiUrl1}/auth/freja/finish`, payload, {\r\n headers: SESSION_HEADERS\r\n });\r\n return data;\r\n } catch (error) {\r\n const e = error as AxiosError;\r\n if (e?.response?.status === 403) {\r\n throw e;\r\n }\r\n\r\n throw new Error(e?.response?.data.Message);\r\n }\r\n}\r\n\r\nexport async function cancelFrejaEIdAuth(authRef: string) {\r\n await authHTTPClient.delete(`${apiUrl1}/auth/freja`, { params: { authRef } });\r\n}\r\n","import { useCallback, useEffect, useState } from 'react';\r\nimport {\r\n FrejaAuthType,\r\n FrejaEIDStatus,\r\n cancelFrejaEIdAuth,\r\n collectFrejaEIdAuthState,\r\n finishFrejaEIdAuth,\r\n initiateFrejaEIdAuth\r\n} from '@api/auth/freja-eid';\r\nimport { useSession } from '@lib/useSession';\r\nimport { AxiosError } from 'axios';\r\nimport { ICustomerBase, IMaintenance, isMaintenance } from '@api/auth/session';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface IAuthData {\r\n authRef: string;\r\n qrCode?: string;\r\n status?: FrejaEIDStatus;\r\n autoStart?: boolean;\r\n}\r\n\r\ntype AuthCompletedFn = (\r\n customers: ICustomerBase[],\r\n completeAuth: (customerId: number) => Promise\r\n) => void;\r\n\r\nconst COLLECT_TIMEOUT = 2000;\r\n\r\nexport function useFrejaEIdAuth(onAuthCompleted: AuthCompletedFn) {\r\n const { t } = useTranslation();\r\n const { updateSession } = useSession();\r\n const [authData, setAuthData] = useState();\r\n const [maintenanceInfo, setMaintenanceInfo] = useState(null);\r\n\r\n async function initiateAuth(authType?: FrejaAuthType, autoStart?: boolean) {\r\n setMaintenanceInfo(null);\r\n const data = await initiateFrejaEIdAuth(authType ?? FrejaAuthType.Personal);\r\n setAuthData({\r\n authRef: data.AuthRef,\r\n autoStart,\r\n qrCode: data.QrCode,\r\n status: FrejaEIDStatus.Started\r\n });\r\n\r\n if (autoStart) {\r\n window.location.replace(\r\n `frejaeid://bindUserToTransaction?transactionReference=${data.AuthRef}&originAppScheme=&redirect=null`\r\n );\r\n }\r\n }\r\n\r\n async function cancelAuth() {\r\n if (!authData) return;\r\n await cancelFrejaEIdAuth(authData.authRef);\r\n setAuthData(undefined);\r\n }\r\n\r\n async function finishAuth(customerId: number) {\r\n if (!authData) return;\r\n\r\n try {\r\n const session = await finishFrejaEIdAuth({ authRef: authData.authRef, customerId });\r\n\r\n updateSession(session);\r\n } catch (e) {\r\n const error = e as AxiosError;\r\n if (error.response && isMaintenance(error.response.data)) {\r\n setMaintenanceInfo(error.response.data);\r\n setAuthData(undefined);\r\n } else {\r\n setAuthData(undefined);\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n const getStatusMessage = useCallback(() => {\r\n if (!authData) return '';\r\n\r\n const { autoStart, status } = authData;\r\n\r\n switch (status) {\r\n case FrejaEIDStatus.Started:\r\n return autoStart ? t('login:freja:mobileStarted') : t('login:freja:started');\r\n case FrejaEIDStatus.DeliveredToMobile:\r\n return t('login:freja:deliveredToMobile');\r\n case FrejaEIDStatus.Canceled:\r\n return t('login:freja:canceled');\r\n case FrejaEIDStatus.RP_Canceled:\r\n return t('login:freja:rpCanceled');\r\n case FrejaEIDStatus.Expired:\r\n return t('login:freja:expired');\r\n case FrejaEIDStatus.Approved:\r\n return t('login:freja:approved');\r\n case FrejaEIDStatus.Rejected:\r\n return t('login:freja:rejected');\r\n default: {\r\n return '';\r\n }\r\n }\r\n }, [authData?.status, authData?.autoStart, t]);\r\n\r\n useEffect(() => {\r\n if (!authData) return;\r\n\r\n const { authRef } = authData;\r\n\r\n let timerId = 0;\r\n const collect = async () => {\r\n try {\r\n const state = await collectFrejaEIdAuthState(authRef);\r\n setAuthData(current => {\r\n if (!current) return current;\r\n\r\n if (state.Status === FrejaEIDStatus.Approved) {\r\n setAuthData({\r\n ...current,\r\n status: state.Status,\r\n qrCode: undefined\r\n });\r\n\r\n onAuthCompleted(state.Customers, finishAuth);\r\n } else {\r\n setAuthData({\r\n ...current,\r\n status: state.Status,\r\n ...(state.Status !== FrejaEIDStatus.Started &&\r\n state.Status !== FrejaEIDStatus.DeliveredToMobile && { qrCode: undefined })\r\n });\r\n }\r\n\r\n return current;\r\n });\r\n\r\n if (\r\n state.Status !== FrejaEIDStatus.Started &&\r\n state.Status !== FrejaEIDStatus.DeliveredToMobile\r\n ) {\r\n window.clearInterval(timerId);\r\n timerId = 0;\r\n }\r\n } catch {\r\n // Ignore any error\r\n }\r\n };\r\n\r\n timerId = window.setInterval(collect, COLLECT_TIMEOUT);\r\n return () => {\r\n if (timerId !== 0) {\r\n window.clearInterval(timerId);\r\n timerId = 0;\r\n }\r\n };\r\n }, [authData?.authRef, authData?.status]);\r\n\r\n return {\r\n authData,\r\n setAuthData,\r\n initiateAuth,\r\n cancelAuth,\r\n finishAuth,\r\n getStatusMessage,\r\n maintenanceInfo\r\n };\r\n}\r\n","import React, { Suspense, useCallback, useEffect, useRef, useState } from 'react';\r\nimport { Button } from '@ui/button';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Id as ToastId } from 'react-toastify';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\r\nimport { ICustomerBase } from '@api/auth/session';\r\nimport { showUnexpectedError, showWarning } from '@lib/toast';\r\nimport CustomerInstanceSelect from '../../components/customer-instance-select-modal/customer-instance-select-modal';\r\nimport { MaintenanceMessage } from '@ui/planned-maintenance/maintenance-message';\r\nimport { useLoginContext } from './login.context';\r\nimport { Logo, RadioButtonCard } from '@tiltid-modern/ui-components';\r\nimport { Spinner } from '@tiltid-modern/ui-components';\r\nimport { useFrejaEIdAuth } from '../../hooks/useFrejaEIdAuth';\r\nimport { FrejaAuthType, FrejaEIDStatus } from '@api/auth/freja-eid';\r\nimport { isMobile } from 'react-device-detect';\r\nimport { IconFrejaLogo } from '@icons/freja-logo';\r\nimport { LogoLarge } from '@icons/logo-large';\r\nimport { useStorage } from '@lib/useStorage';\r\nimport { FREJA_AUTH_TYPE } from '@lib/constants/storage-keys';\r\nimport styles from './login.css';\r\n\r\nexport default function LoginFrejaEID() {\r\n const { t } = useTranslation();\r\n const { processing, setProcessing } = useLoginContext();\r\n const { getItem, setItem } = useStorage();\r\n const [authType, setAuthType] = useState(\r\n getItem(FREJA_AUTH_TYPE) ?? FrejaAuthType.Personal\r\n );\r\n\r\n const [isModalOpened, showModal] = useState(false);\r\n const toast = useRef('');\r\n\r\n useEffect(() => {\r\n setItem(FREJA_AUTH_TYPE, authType);\r\n }, [authType]);\r\n\r\n const onSelectCustomer = useCallback(\r\n (customers: ICustomerBase[], completeAuth: (customerId: number) => Promise) => {\r\n if (customers.length === 0) {\r\n toast.current = showWarning(t('login:freja:noInstances'));\r\n setAuthData(undefined);\r\n } else if (customers.length === 1) {\r\n runSafe(async () => await completeAuth(customers[0].Id));\r\n } else {\r\n setCustomers(customers);\r\n showModal(true);\r\n }\r\n },\r\n []\r\n );\r\n\r\n const {\r\n authData,\r\n setAuthData,\r\n initiateAuth,\r\n cancelAuth,\r\n finishAuth,\r\n getStatusMessage,\r\n maintenanceInfo\r\n } = useFrejaEIdAuth(onSelectCustomer);\r\n\r\n const [customers, setCustomers] = useState([]);\r\n\r\n async function runSafe(promise: () => Promise) {\r\n setProcessing(true);\r\n try {\r\n await promise();\r\n } catch (error) {\r\n toast.current = showUnexpectedError(error);\r\n }\r\n setProcessing(false);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n } imageClassName={styles.tabsLogo} />\r\n
\r\n {authData?.qrCode && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {authData?.status && (\r\n \r\n )}\r\n\r\n {(!authData?.authRef ||\r\n (authData.status &&\r\n (authData?.status === FrejaEIDStatus.Canceled ||\r\n authData?.status === FrejaEIDStatus.RP_Canceled ||\r\n authData?.status === FrejaEIDStatus.Rejected))) && (\r\n <>\r\n

{t('login:freja:chooseAuthType')}

\r\n
\r\n {\r\n if (e.currentTarget.checked) setAuthType(FrejaAuthType.Personal);\r\n }}\r\n />\r\n {\r\n if (e.currentTarget.checked) setAuthType(FrejaAuthType.Organization);\r\n }}\r\n />\r\n
\r\n }\r\n text={t('login:freja:auth')}\r\n onClick={async () => {\r\n await runSafe(async () => await initiateAuth(authType, isMobile));\r\n }}\r\n />\r\n \r\n )}\r\n {authData?.authRef && authData?.status === FrejaEIDStatus.Expired && (\r\n }\r\n text={t('login:freja:tryAgain')}\r\n onClick={async () => {\r\n await runSafe(async () => initiateAuth(authType, isMobile));\r\n }}\r\n />\r\n )}\r\n {authData?.qrCode && (\r\n }\r\n text={t('login:freja:cancel')}\r\n onClick={async () => {\r\n await runSafe(cancelAuth);\r\n }}\r\n />\r\n )}\r\n \r\n }>\r\n {\r\n showModal(false);\r\n setAuthData(undefined);\r\n }}\r\n isBusy={processing}\r\n isOpen={isModalOpened}\r\n customers={customers}\r\n onCustomerSelect={async customer => {\r\n showModal(false);\r\n await runSafe(async () => finishAuth(customer.Id));\r\n }}\r\n />\r\n \r\n \r\n );\r\n}\r\n"],"names":["FrejaEIDStatus","FrejaAuthType","async","finishFrejaEIdAuth","payload","data","headers","error","e","response","status","Error","Message","useFrejaEIdAuth","onAuthCompleted","useTranslation","updateSession","useSession","authData","setAuthData","useState","maintenanceInfo","setMaintenanceInfo","finishAuth","customerId","session","authRef","undefined","getStatusMessage","useCallback","autoStart","Started","t","DeliveredToMobile","Canceled","RP_Canceled","Expired","Approved","Rejected","useEffect","timerId","window","setInterval","state","params","collectFrejaEIdAuthState","current","Status","qrCode","Customers","clearInterval","initiateAuth","authType","initiateFrejaEIdAuth","Personal","AuthRef","QrCode","location","replace","cancelAuth","cancelFrejaEIdAuth","LoginFrejaEID","processing","setProcessing","getItem","setItem","useStorage","setAuthType","isModalOpened","showModal","toast","useRef","onSelectCustomer","customers","completeAuth","length","runSafe","Id","setCustomers","promise","className","img","imageClassName","style","backgroundImage","dangerouslySetInnerHTML","__html","flex","name","id","label","checked","onChange","currentTarget","Organization","disabled","icon","text","onClick","maintenance","Suspense","fallback","onRequestClose","isBusy","isOpen","onCustomerSelect","customer"],"sourceRoot":""}