dauth-context-react 1.0.3 → 2.1.0
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/dist/api/dauth.api.d.ts +5 -6
- package/dist/api/interfaces/dauth.api.responses.d.ts +3 -3
- package/dist/constants.d.ts +1 -0
- package/dist/dauth-context-react.cjs.development.js +325 -322
- package/dist/dauth-context-react.cjs.development.js.map +1 -1
- package/dist/dauth-context-react.cjs.production.min.js +1 -1
- package/dist/dauth-context-react.cjs.production.min.js.map +1 -1
- package/dist/dauth-context-react.esm.js +326 -323
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/interfaces.d.ts +4 -1
- package/dist/reducer/dauth.actions.d.ts +11 -11
- package/package.json +1 -1
- package/src/api/dauth.api.ts +24 -16
- package/src/api/interfaces/dauth.api.responses.ts +3 -3
- package/src/constants.ts +1 -0
- package/src/index.tsx +69 -80
- package/src/interfaces.ts +4 -9
- package/src/reducer/dauth.actions.ts +82 -78
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/api/utils/routes.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n IverifyTokenAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const verifyTokenAPI = async ({\n domainName,\n tsk,\n token,\n}: {\n domainName: string;\n tsk: string;\n token: string;\n}): Promise<IverifyTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ tsk }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/verify-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","export const routes = {\n signin: 'signin',\n updateUser: 'update-user',\n};\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState({}, document.title, window.location.pathname);\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n token_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const newToken = refreshAccessTokenFetch.data.accessToken || token_ls;\n const getUserFetch = await getUserAPI(domainName, newToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n if (refreshAccessTokenFetch.data.accessToken) {\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n }\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n tsk: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, tsk, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n const isValidTsk = useCallback(\n async (token: string) => {\n try {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n tsk,\n });\n if (verifyToken.response.status !== 200) {\n return false;\n }\n return true;\n } catch (error) {\n return false;\n }\n },\n [domainName, tsk]\n );\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.checkTokenAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, isValidTsk]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_url);\n if (isValid) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","apiVersion","serverDomain","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverPort","serverLocalUrl","protocol","serverProdUrl","getClientBasePath","clientPort","clientLocalUrl","clientProdUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","data","w","_context","n","method","headers","Authorization","fetch","v","json","a","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","verifyTokenAPI","_ref6","_callee5","_ref5","tsk","_context5","_x0","TOKEN_LS","routes","signin","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","_t","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","token_ls","refreshAccessTokenFetch","newToken","_t2","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","_t3","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","checkTokenAction","_checkTokenAction","_t5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","_refreshAccessTokenFe","_t6","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","isValidTsk","useCallback","verifyToken","useEffect","interval","setInterval","isValid","Error","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_context7","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/api/utils/routes.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IrefreshTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshTokenAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<IrefreshTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const logoutAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<{ response: Response }> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/logout`,\n params\n );\n return { response };\n};\n","export const TOKEN_LS = 'dauth_state';\nexport const REFRESH_TOKEN_LS = 'dauth_refresh_token';\n","import {\n getUserAPI,\n logoutAPI,\n refreshTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n refreshToken: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n refreshToken,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState({}, document.title, window.location.pathname);\n localStorage.setItem(TOKEN_LS, token);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshToken);\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n const newAccessToken = refreshResult.data.accessToken;\n const newRefreshToken = refreshResult.data.refreshToken;\n localStorage.setItem(TOKEN_LS, newAccessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, newRefreshToken);\n const getUserFetch = await getUserAPI(domainName, newAccessToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n return;\n }\n }\n // Refresh failed — session expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (storedRefreshToken && domainName) {\n try {\n await logoutAPI(domainName, storedRefreshToken);\n } catch (_) {\n // Best-effort server-side logout\n }\n }\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language:\n window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\nexport async function refreshSessionAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n localStorage.setItem(TOKEN_LS, refreshResult.data.accessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshResult.data.refreshToken);\n return;\n }\n // Refresh failed — revoked or expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n }\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return 'token-not-found';\n // Decode JWT to check expiry (without verification — that's the server's job)\n try {\n const payloadB64 = token_ls.split('.')[1];\n if (payloadB64) {\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // If token expires in less than 5 minutes, refresh proactively\n if (expiresIn < 5 * 60 * 1000) {\n await refreshSessionAction({ dispatch, domainName });\n const refreshedToken = localStorage.getItem(TOKEN_LS);\n return refreshedToken || 'token-not-found';\n }\n }\n } catch (_) {\n // If decode fails, return stored token and let server validate\n }\n return token_ls;\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","export const routes = {\n signin: 'signin',\n updateUser: 'update-user',\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n useRef,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n const refreshTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Schedule next proactive refresh based on access token expiry\n const scheduleRefresh = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n const token = localStorage.getItem(TOKEN_LS);\n if (!token) return;\n try {\n const payloadB64 = token.split('.')[1];\n if (!payloadB64) return;\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // Refresh 5 minutes before expiry, minimum 10 seconds\n const refreshIn = Math.max(expiresIn - 5 * 60 * 1000, 10_000);\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, refreshIn);\n } catch (_) {\n // If decode fails, retry in 5 minutes\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, 5 * 60 * 1000);\n }\n }, [domainName]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n const refresh_url = urlParams.get(REFRESH_TOKEN_LS);\n if (token_url && refresh_url && !dauthState.isAuthenticated) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n refreshToken: refresh_url,\n domainName,\n });\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const refreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (refreshToken && !dauthState.isAuthenticated) {\n return action.setAutoLoginAction({ dispatch, domainName });\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n // Schedule proactive refresh when authenticated\n useEffect(() => {\n if (dauthState.isAuthenticated) {\n scheduleRefresh();\n }\n return () => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n };\n }, [dauthState.isAuthenticated, scheduleRefresh]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return action.setLogoutAction({ dispatch, domainName });\n }, [domainName]);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async (fields: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } = fields;\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","apiVersion","serverDomain","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverPort","serverLocalUrl","protocol","serverProdUrl","getClientBasePath","clientPort","clientLocalUrl","clientProdUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","data","w","_context","n","method","headers","Authorization","fetch","v","json","a","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshTokenAPI","_ref5","_callee5","refreshToken","_context5","_x0","_x1","logoutAPI","_ref6","_callee6","_context6","_x10","_x11","TOKEN_LS","REFRESH_TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","_t","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","storedRefreshToken","refreshResult","newAccessToken","newRefreshToken","_t2","getItem","accessToken","setLogoutAction","_setLogoutAction","removeItem","refreshSessionAction","_refreshSessionAction","_callee4","_ref4","_t4","_context4","setUpdateUserAction","_setUpdateUserAction","_t5","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","payloadB64","expiresIn","refreshedToken","_context7","split","parse","atob","exp","Date","now","routes","signin","DauthProvider","props","children","_useReducer","useReducer","dauthState","refreshTimerRef","useRef","scheduleRefresh","useCallback","current","clearTimeout","refreshIn","Math","max","setTimeout","_","useEffect","queryString","urlParams","token_url","refresh_url","search","URLSearchParams","get","replace","fields","name","lastname","nickname","telPrefix","telSuffix","avatar","birthDate","country","metadata","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function r(e,t,n,r,a,o,i){try{var u=e[o](i),s=u.value}catch(e){return void n(e)}u.done?t(s):Promise.resolve(s).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,s,"next",e)}function s(e){r(i,a,o,u,s,"throw",e)}u(void 0)}))}}function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function i(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=Object.create((r&&r.prototype instanceof c?r:c).prototype);return u(i,"_invoke",function(n,r,a){var o,i,u,c=0,p=a||[],f=!1,l={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,i=0,u=e,l.n=n,s}};function d(n,r){for(i=n,u=r,t=0;!f&&c&&!a&&t<p.length;t++){var a,o=p[t],d=l.p,h=o[2];n>3?(a=h===r)&&(u=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=d&&((a=n<2&&d<o[1])?(i=0,l.v=r,l.n=o[1]):d<h&&(a=n<3||o[0]>r||r>h)&&(o[4]=n,o[5]=r,l.n=h,i=0))}if(a||n>1)return s;throw f=!0,r}return function(a,p,h){if(c>1)throw TypeError("Generator is already running");for(f&&1===p&&d(p,h),i=p,u=h;(t=i<2?e:u)||!f;){o||(i?i<3?(i>1&&(l.n=-1),d(i,u)):l.n=u:l.v=u);try{if(c=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(f=l.n<0)?u:n.call(r,l))!==s)break}catch(t){o=e,i=1,u=t}finally{c=1}}return{value:t,done:f}}}(n,a,o),!0),i}var s={};function c(){}function p(){}function f(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(u(t={},r,(function(){return this})),t),d=f.prototype=c.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,u(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return p.prototype=f,u(d,"constructor",f),u(f,"constructor",p),p.displayName="GeneratorFunction",u(f,a,"GeneratorFunction"),u(d),u(d,a,"Generator"),u(d,r,(function(){return this})),u(d,"toString",(function(){return"[object Generator]"})),(i=function(){return{w:o,m:h}})()}function u(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(u=function(e,t,n,r){function o(t,n){u(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))})(e,t,n,r)}var s={user:{language:("undefined"!=typeof window?window.document.documentElement.getAttribute("lang"):null)||"es"},domain:{},isLoading:!0,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)}};function c(e,t){var n=t.payload;switch(t.type){case"LOGIN":return o({},e,{user:n.user,domain:n.domain,isAuthenticated:n.isAuthenticated});case"SET_IS_LOADING":return o({},e,{isLoading:n.isLoading});case"UPDATE_USER":return o({},e,{user:o({},e.user,n)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{status:{type:n.type,message:n.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{isLoading:n})});default:return e}}function p(){if("undefined"==typeof window)return!1;var e=window.location.hostname;return Boolean("localhost"===e||"[::1]"===e||e.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||e.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))}function f(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return e?t:"https://dauth.ovh/api/v1"}function l(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":5185";return e?t:"https://dauth.ovh"}var d=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(f()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),h=function(){var e=a(i().m((function e(t,n,r){var a,o;return i().w((function(e){for(;;)switch(e.n){case 0:return a={method:"PATCH",headers:{Authorization:r,"Content-Type":"application/json"},body:JSON.stringify(n)},e.n=1,fetch(f()+"/app/"+t+"/user",a);case 1:return o=e.v,e.n=2,o.json();case 2:return e.a(2,{response:o,data:e.v})}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),m=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(f()+"/app/"+t+"/resend-email-verification",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),v=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(f()+"/app/"+t+"/refresh-access-token",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),y=function(){var e=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return n=t.domainName,r={method:"POST",headers:{Authorization:t.token,"Content-Type":"application/json"},body:JSON.stringify({tsk:t.tsk})},e.n=1,fetch(f()+"/app/"+n+"/verify-token",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t){return e.apply(this,arguments)}}(),w="dauth_state";function S(e){return g.apply(this,arguments)}function g(){return(g=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.token,a=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e.p=1,e.n=2,d(a,r);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return n({type:"LOGIN",payload:{user:o.data.user,domain:o.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,window.location.pathname),e.a(2,localStorage.setItem(w,r));case 3:return e.a(2,G(n));case 4:e.n=6;break;case 5:return e.p=5,console.error(e.v),e.a(2,G(n));case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function I(e){return E.apply(this,arguments)}function E(){return(E=a(i().m((function e(t){var n,r,a,o,u,s;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.token_ls,a=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e.p=1,e.n=2,v(a,r);case 2:if(200!==(o=e.v).response.status){e.n=6;break}return u=o.data.accessToken||r,e.n=3,d(a,u);case 3:if(200!==(s=e.v).response.status){e.n=4;break}return n({type:"LOGIN",payload:{user:s.data.user,domain:s.data.domain,isAuthenticated:!0}}),localStorage.setItem(w,o.data.accessToken),e.a(2);case 4:return window.location.replace(l()+"/"+a+"/signin"),e.a(2,G(n));case 5:e.n=7;break;case 6:return window.location.replace(l()+"/"+a+"/signin"),e.a(2,G(n));case 7:e.n=9;break;case 8:return e.p=8,console.error(e.v),e.a(2,G(n));case 9:return e.p=9,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(9);case 10:return e.a(2)}}),e,null,[[1,8,9,10]])})))).apply(this,arguments)}function _(e){var t=e.dispatch;return t({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t({type:"LOGIN",payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(w),t({type:"SET_IS_LOADING",payload:{isLoading:!1}})}function k(e){return A.apply(this,arguments)}function A(){return(A=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,o=t.token,(a=t.user).language&&window.document.documentElement.setAttribute("lang",a.language),o){e.n=1;break}return n({type:"UPDATE_USER",payload:a}),e.a(2,!1);case 1:return e.p=1,e.n=2,h(r,a,o);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:"UPDATE_USER",payload:u.data.user}),e.a(2,!0);case 3:return console.error("Update user error",u.data.message),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,console.error("Update user error",e.v),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function T(e){return b.apply(this,arguments)}function b(){return(b=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.domainName,a=t.token,(n=t.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),e.p=1,e.n=2,m(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!0);case 3:return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function N(e){return O.apply(this,arguments)}function O(){return(O=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return n=t.dispatch,r=t.domainName,a=t.token,e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return o.data.accessToken&&localStorage.setItem(w,o.data.accessToken),e.a(2);case 3:return window.location.replace(l()+"/"+r+"/signin"),e.a(2,G(n));case 4:e.n=6;break;case 5:throw e.p=5,u=e.v,G(n),u;case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function L(e){return D.apply(this,arguments)}function D(){return(D=a(i().m((function e(t){var n,r,a,o,u,s;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(w)){e.n=1;break}return e.a(2);case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return e.a(2,null!=(u=o.data.accessToken)?u:a);case 3:return G(n),e.a(2,"token-not-found");case 4:e.n=6;break;case 5:throw e.p=5,s=e.v,G(n),s;case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}var G=function(e){return localStorage.removeItem(w),e({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}})},C=t.createContext(s);exports.DauthProvider=function(e){var r=e.domainName,u=e.tsk,p=e.children,f=t.useReducer(c,s),d=f[0],h=f[1],m=t.useCallback(function(){var e=a(i().m((function e(t){return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,y({domainName:r,token:t,tsk:u});case 1:if(200===e.v.response.status){e.n=2;break}return e.a(2,!1);case 2:return e.a(2,!0);case 3:return e.p=3,e.a(2,!1)}}),e,null,[[0,3]])})));return function(t){return e.apply(this,arguments)}}(),[r,u]);t.useEffect((function(){if(d.isAuthenticated){var e=setInterval(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(w)){e.n=1;break}return e.a(2);case 1:return e.n=2,m(t);case 2:if(!e.v){e.n=3;break}return e.a(2,N({dispatch:h,domainName:r,token:t}));case 3:throw _({dispatch:h}),new Error("Ask value in DauthProvider is not valid");case 4:return e.a(2)}}),e)}))),3e5);return function(){return clearInterval(e)}}}),[d.isAuthenticated,m]),t.useEffect((function(){a(i().m((function e(){var t,n,a;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=window.location.search){e.n=1;break}return e.a(2);case 1:if(n=new URLSearchParams(t),!(a=n.get(w))||d.isAuthenticated){e.n=4;break}return e.n=2,m(a);case 2:if(!e.v){e.n=3;break}return e.a(2,S({dispatch:h,token:a,domainName:r}));case 3:throw _({dispatch:h}),new Error("Ask value in DauthProvider is not valid");case 4:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(!(t=localStorage.getItem(w))||d.isAuthenticated){e.n=4;break}return e.n=1,m(t);case 1:if(!e.v){e.n=2;break}return e.a(2,I({dispatch:h,token_ls:t,domainName:r}));case 2:throw _({dispatch:h}),new Error("Ask value in DauthProvider is not valid");case 3:e.n=5;break;case 4:return e.a(2,h({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:return e.a(2)}}),e)})))()}),[]);var v=t.useCallback((function(){return window.location.replace(l()+"/"+r+"/signin")}),[r]),g=t.useCallback((function(){return _({dispatch:h})}),[]),E=t.useCallback(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,L({dispatch:h,domainName:r});case 1:return e.a(2,e.v)}}),e)}))),[r]),A=t.useCallback(function(){var e=a(i().m((function e(t){var n,a,o,u,s,c,p,f,l;return i().w((function(e){for(;;)switch(e.n){case 0:return n=t.name,a=t.lastname,o=t.nickname,u=t.telPrefix,s=t.telSuffix,c=t.language,p=t.avatar,f=localStorage.getItem(w),l={name:n,lastname:a,nickname:o,telPrefix:u,telSuffix:s,language:c,avatar:p},e.n=1,k({dispatch:h,domainName:r,user:l,token:f});case 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[r]),b=t.useCallback((function(){var e=localStorage.getItem(w);if(e)return window.location.replace(l()+"/"+r+"/update-user/"+e)}),[r]),O=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(w)){e.n=1;break}return e.a(2,!1);case 1:return e.n=2,T({dispatch:h,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),D=t.useMemo((function(){return o({},d,{loginWithRedirect:v,logout:g,getAccessToken:E,updateUser:A,updateUserWithRedirect:b,sendEmailVerification:O})}),[d,v,g,E,A,b,O]);return n.createElement(C.Provider,{value:D},p)},exports.useDauth=function(){var e=t.useContext(C);if(!e)throw new Error("useDauth must be used inside DauthProvider");return e};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function r(e,t,n,r,a,o,i){try{var u=e[o](i),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,c,"next",e)}function c(e){r(i,a,o,u,c,"throw",e)}u(void 0)}))}}function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function i(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=Object.create((r&&r.prototype instanceof s?r:s).prototype);return u(i,"_invoke",function(n,r,a){var o,i,u,s=0,f=a||[],p=!1,l={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,i=0,u=e,l.n=n,c}};function d(n,r){for(i=n,u=r,t=0;!p&&s&&!a&&t<f.length;t++){var a,o=f[t],d=l.p,m=o[2];n>3?(a=m===r)&&(u=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=d&&((a=n<2&&d<o[1])?(i=0,l.v=r,l.n=o[1]):d<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,l.n=m,i=0))}if(a||n>1)return c;throw p=!0,r}return function(a,f,m){if(s>1)throw TypeError("Generator is already running");for(p&&1===f&&d(f,m),i=f,u=m;(t=i<2?e:u)||!p;){o||(i?i<3?(i>1&&(l.n=-1),d(i,u)):l.n=u:l.v=u);try{if(s=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(p=l.n<0)?u:n.call(r,l))!==c)break}catch(t){o=e,i=1,u=t}finally{s=1}}return{value:t,done:p}}}(n,a,o),!0),i}var c={};function s(){}function f(){}function p(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(u(t={},r,(function(){return this})),t),d=p.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,u(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return f.prototype=p,u(d,"constructor",p),u(p,"constructor",f),f.displayName="GeneratorFunction",u(p,a,"GeneratorFunction"),u(d),u(d,a,"Generator"),u(d,r,(function(){return this})),u(d,"toString",(function(){return"[object Generator]"})),(i=function(){return{w:o,m:m}})()}function u(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(u=function(e,t,n,r){function o(t,n){u(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))})(e,t,n,r)}var c={user:{language:("undefined"!=typeof window?window.document.documentElement.getAttribute("lang"):null)||"es"},domain:{},isLoading:!0,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)}},s="LOGIN";function f(e,t){var n=t.payload;switch(t.type){case s:return o({},e,{user:n.user,domain:n.domain,isAuthenticated:n.isAuthenticated});case"SET_IS_LOADING":return o({},e,{isLoading:n.isLoading});case"UPDATE_USER":return o({},e,{user:o({},e.user,n)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{status:{type:n.type,message:n.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{isLoading:n})});default:return e}}function p(){if("undefined"==typeof window)return!1;var e=window.location.hostname;return Boolean("localhost"===e||"[::1]"===e||e.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||e.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))}function l(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return e?t:"https://dauth.ovh/api/v1"}function d(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":5185";return e?t:"https://dauth.ovh"}var m=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),h=function(){var e=a(i().m((function e(t,n,r){var a,o;return i().w((function(e){for(;;)switch(e.n){case 0:return a={method:"PATCH",headers:{Authorization:r,"Content-Type":"application/json"},body:JSON.stringify(n)},e.n=1,fetch(l()+"/app/"+t+"/user",a);case 1:return o=e.v,e.n=2,o.json();case 2:return e.a(2,{response:o,data:e.v})}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),y=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/resend-email-verification",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),v=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/refresh-token",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),S=function(){var e=a(i().m((function e(t,n){var r;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/logout",r);case 1:return e.a(2,{response:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),g="dauth_state",I="dauth_refresh_token";function w(e){return _.apply(this,arguments)}function _(){return(_=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.token,a=t.refreshToken,o=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e.p=1,e.n=2,m(o,r);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:s,payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,window.location.pathname),localStorage.setItem(g,r),localStorage.setItem(I,a),e.a(2);case 3:return e.a(2,P(n));case 4:e.n=6;break;case 5:return e.p=5,console.error(e.v),e.a(2,P(n));case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function E(e){return T.apply(this,arguments)}function T(){return(T=a(i().m((function e(t){var n,r,a,o,u,c,f;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(r=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),a=localStorage.getItem(I)){e.n=1;break}return n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.a(2,P(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=4;break}return u=o.data.accessToken,c=o.data.refreshToken,localStorage.setItem(g,u),localStorage.setItem(I,c),e.n=3,m(r,u);case 3:if(200!==(f=e.v).response.status){e.n=4;break}return n({type:s,payload:{user:f.data.user,domain:f.data.domain,isAuthenticated:!0}}),e.a(2);case 4:P(n),e.n=6;break;case 5:e.p=5,console.error(e.v),P(n);case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function b(){return(b=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,!(a=localStorage.getItem(I))||!r){e.n=4;break}return e.p=1,e.n=2,S(r,a);case 2:e.n=4;break;case 3:e.p=3;case 4:return n({type:"SET_IS_LOADING",payload:{isLoading:!0}}),n({type:s,payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(g),localStorage.removeItem(I),e.a(2,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}))}}),e,null,[[1,3]])})))).apply(this,arguments)}function A(e){return N.apply(this,arguments)}function N(){return(N=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(I)){e.n=1;break}return e.a(2,P(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return localStorage.setItem(g,o.data.accessToken),localStorage.setItem(I,o.data.refreshToken),e.a(2);case 3:P(n),e.n=5;break;case 4:e.p=4,console.error(e.v),P(n);case 5:return e.a(2)}}),e,null,[[1,4]])})))).apply(this,arguments)}function k(e){return O.apply(this,arguments)}function O(){return(O=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,o=t.token,(a=t.user).language&&window.document.documentElement.setAttribute("lang",a.language),o){e.n=1;break}return n({type:"UPDATE_USER",payload:a}),e.a(2,!1);case 1:return e.p=1,e.n=2,h(r,a,o);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:"UPDATE_USER",payload:u.data.user}),e.a(2,!0);case 3:return console.error("Update user error",u.data.message),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,console.error("Update user error",e.v),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function L(e){return D.apply(this,arguments)}function D(){return(D=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.domainName,a=t.token,(n=t.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),e.p=1,e.n=2,y(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!0);case 3:return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function C(e){return G.apply(this,arguments)}function G(){return(G=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(g)){e.n=1;break}return e.a(2,"token-not-found");case 1:if(e.p=1,!(o=a.split(".")[1])){e.n=3;break}if(!(1e3*(JSON.parse(atob(o)).exp||0)-Date.now()<3e5)){e.n=3;break}return e.n=2,A({dispatch:n,domainName:r});case 2:return u=localStorage.getItem(g),e.a(2,u||"token-not-found");case 3:e.n=5;break;case 4:e.p=4;case 5:return e.a(2,a)}}),e,null,[[1,4]])})))).apply(this,arguments)}var P=function(e){return localStorage.removeItem(g),localStorage.removeItem(I),e({type:s,payload:{user:{},domain:{},isAuthenticated:!1}})},j=t.createContext(c);exports.DauthProvider=function(e){var r=e.domainName,u=e.children,s=t.useReducer(f,c),p=s[0],l=s[1],m=t.useRef(null),h=t.useCallback((function(){m.current&&clearTimeout(m.current);var e=localStorage.getItem(g);if(e)try{var t=e.split(".")[1];if(!t)return;var n=1e3*(JSON.parse(atob(t)).exp||0)-Date.now(),o=Math.max(n-3e5,1e4);m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,A({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),o)}catch(e){m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,A({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),3e5)}}),[r]);t.useEffect((function(){a(i().m((function e(){var t,n,a,o;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=window.location.search){e.n=1;break}return e.a(2);case 1:if(n=new URLSearchParams(t),a=n.get(g),o=n.get(I),!a||!o||p.isAuthenticated){e.n=2;break}return e.a(2,w({dispatch:l,token:a,refreshToken:o,domainName:r}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:if(!localStorage.getItem(I)||p.isAuthenticated){e.n=1;break}return e.a(2,E({dispatch:l,domainName:r}));case 1:return e.a(2,l({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){return p.isAuthenticated&&h(),function(){m.current&&clearTimeout(m.current)}}),[p.isAuthenticated,h]);var y=t.useCallback((function(){return window.location.replace(d()+"/"+r+"/signin")}),[r]),v=t.useCallback((function(){return m.current&&clearTimeout(m.current),function(e){return b.apply(this,arguments)}({dispatch:l,domainName:r})}),[r]),S=t.useCallback(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,C({dispatch:l,domainName:r});case 1:return e.a(2,e.v)}}),e)}))),[r]),_=t.useCallback(function(){var e=a(i().m((function e(t){var n,a;return i().w((function(e){for(;;)switch(e.n){case 0:return n=localStorage.getItem(g),a={name:t.name,lastname:t.lastname,nickname:t.nickname,telPrefix:t.telPrefix,telSuffix:t.telSuffix,language:t.language,avatar:t.avatar,birthDate:t.birthDate,country:t.country,metadata:t.metadata},e.n=1,k({dispatch:l,domainName:r,user:a,token:n});case 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[r]),T=t.useCallback((function(){var e=localStorage.getItem(g);if(e)return window.location.replace(d()+"/"+r+"/update-user/"+e)}),[r]),N=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(g)){e.n=1;break}return e.a(2,!1);case 1:return e.n=2,L({dispatch:l,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),O=t.useMemo((function(){return o({},p,{loginWithRedirect:y,logout:v,getAccessToken:S,updateUser:_,updateUserWithRedirect:T,sendEmailVerification:N})}),[p,y,v,S,_,T,N]);return n.createElement(j.Provider,{value:O},u)},exports.useDauth=function(){var e=t.useContext(j);if(!e)throw new Error("useDauth must be used inside DauthProvider");return e};
|
|
2
2
|
//# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n IverifyTokenAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const verifyTokenAPI = async ({\n domainName,\n tsk,\n token,\n}: {\n domainName: string;\n tsk: string;\n token: string;\n}): Promise<IverifyTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ tsk }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/verify-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState({}, document.title, window.location.pathname);\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n token_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const newToken = refreshAccessTokenFetch.data.accessToken || token_ls;\n const getUserFetch = await getUserAPI(domainName, newToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n if (refreshAccessTokenFetch.data.accessToken) {\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n }\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n tsk: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, tsk, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n const isValidTsk = useCallback(\n async (token: string) => {\n try {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n tsk,\n });\n if (verifyToken.response.status !== 200) {\n return false;\n }\n return true;\n } catch (error) {\n return false;\n }\n },\n [domainName, tsk]\n );\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.checkTokenAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, isValidTsk]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_url);\n if (isValid) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","userReducer","state","action","payload","_extends","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverLocalUrl","protocol","getClientBasePath","clientLocalUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","w","_context","n","method","headers","Authorization","Content-Type","fetch","v","json","a","data","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","verifyTokenAPI","_ref6","_callee5","_ref5","_context5","tsk","_x0","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","token_ls","refreshAccessTokenFetch","newToken","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","checkTokenAction","_checkTokenAction","_t5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","_refreshAccessTokenFe","_t6","_context6","getItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","isValidTsk","useCallback","useEffect","interval","setInterval","Error","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_context7","memoProvider","useMemo","React","Provider","value","context","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IrefreshTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshTokenAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<IrefreshTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const logoutAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<{ response: Response }> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/logout`,\n params\n );\n return { response };\n};\n","export const TOKEN_LS = 'dauth_state';\nexport const REFRESH_TOKEN_LS = 'dauth_refresh_token';\n","import {\n getUserAPI,\n logoutAPI,\n refreshTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n refreshToken: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n refreshToken,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState({}, document.title, window.location.pathname);\n localStorage.setItem(TOKEN_LS, token);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshToken);\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n const newAccessToken = refreshResult.data.accessToken;\n const newRefreshToken = refreshResult.data.refreshToken;\n localStorage.setItem(TOKEN_LS, newAccessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, newRefreshToken);\n const getUserFetch = await getUserAPI(domainName, newAccessToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n return;\n }\n }\n // Refresh failed — session expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (storedRefreshToken && domainName) {\n try {\n await logoutAPI(domainName, storedRefreshToken);\n } catch (_) {\n // Best-effort server-side logout\n }\n }\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language:\n window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\nexport async function refreshSessionAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n localStorage.setItem(TOKEN_LS, refreshResult.data.accessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshResult.data.refreshToken);\n return;\n }\n // Refresh failed — revoked or expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n }\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return 'token-not-found';\n // Decode JWT to check expiry (without verification — that's the server's job)\n try {\n const payloadB64 = token_ls.split('.')[1];\n if (payloadB64) {\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // If token expires in less than 5 minutes, refresh proactively\n if (expiresIn < 5 * 60 * 1000) {\n await refreshSessionAction({ dispatch, domainName });\n const refreshedToken = localStorage.getItem(TOKEN_LS);\n return refreshedToken || 'token-not-found';\n }\n }\n } catch (_) {\n // If decode fails, return stored token and let server validate\n }\n return token_ls;\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n useRef,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n const refreshTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Schedule next proactive refresh based on access token expiry\n const scheduleRefresh = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n const token = localStorage.getItem(TOKEN_LS);\n if (!token) return;\n try {\n const payloadB64 = token.split('.')[1];\n if (!payloadB64) return;\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // Refresh 5 minutes before expiry, minimum 10 seconds\n const refreshIn = Math.max(expiresIn - 5 * 60 * 1000, 10_000);\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, refreshIn);\n } catch (_) {\n // If decode fails, retry in 5 minutes\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, 5 * 60 * 1000);\n }\n }, [domainName]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n const refresh_url = urlParams.get(REFRESH_TOKEN_LS);\n if (token_url && refresh_url && !dauthState.isAuthenticated) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n refreshToken: refresh_url,\n domainName,\n });\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const refreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (refreshToken && !dauthState.isAuthenticated) {\n return action.setAutoLoginAction({ dispatch, domainName });\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n // Schedule proactive refresh when authenticated\n useEffect(() => {\n if (dauthState.isAuthenticated) {\n scheduleRefresh();\n }\n return () => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n };\n }, [dauthState.isAuthenticated, scheduleRefresh]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return action.setLogoutAction({ dispatch, domainName });\n }, [domainName]);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async (fields: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } = fields;\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","userReducer","state","action","payload","DauthTypes","_extends","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverLocalUrl","protocol","getClientBasePath","clientLocalUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","w","_context","n","method","headers","Authorization","Content-Type","fetch","v","json","a","data","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshTokenAPI","_ref5","_callee5","refreshToken","_context5","_x0","_x1","logoutAPI","_ref6","_callee6","_context6","_x10","_x11","TOKEN_LS","REFRESH_TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","storedRefreshToken","refreshResult","newAccessToken","newRefreshToken","getItem","accessToken","_setLogoutAction","removeItem","refreshSessionAction","_refreshSessionAction","_callee4","_ref4","_context4","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","payloadB64","refreshedToken","_context7","split","parse","atob","exp","Date","now","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","refreshTimerRef","useRef","scheduleRefresh","useCallback","current","clearTimeout","expiresIn","refreshIn","Math","max","setTimeout","_","useEffect","queryString","urlParams","token_url","refresh_url","search","URLSearchParams","get","replace","fields","name","lastname","nickname","telPrefix","telSuffix","avatar","birthDate","country","metadata","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|