dauth-context-react 0.2.104 → 0.2.106

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.
@@ -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":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\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 '../initialDauthState';\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","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.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 window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\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({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\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 '../initialDauthState';\nimport { routes } from '../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(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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 dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\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.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('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 sid,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\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, { IDauthUser } 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 './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\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 action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n }, [domainName, sid]);\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 }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\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 tel_prefix,\n tel_suffix,\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 })}/${\n routes.tenantUpdateUser\n }/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\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","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","TOKEN_LS","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","_checkTokenAction","_callee5","_ref6","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_context6","getItem","removeItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","token_url","URLSearchParams","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
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":["export interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\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 '../initialDauthState';\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","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.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 window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\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({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\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 '../initialDauthState';\nimport { routes } from '../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(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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 dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_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 dauth_state_ls\n ); \n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\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.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('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 return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\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, { IDauthUser } 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 './routes';\nimport jwt from 'jsonwebtoken';\n\ninterface DauthProviderProps {\n domainName: string;\n ask: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, ask, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // useEffect(() => {\n // const verifyToken = async () => {\n // const token = localStorage.getItem(TOKEN_LS);\n // if (!token) return;\n\n // try {\n // const response = await fetch('/api/verifyToken', {\n // method: 'POST',\n // headers: {\n // 'Content-Type': 'application/json',\n // Authorization: `Bearer ${token}`,\n // },\n // body: JSON.stringify({ token }),\n // });\n\n // if (response.ok) {\n // const data = await response.json();\n // if (data.valid) {\n // dispatch({ type: 'SET_AUTHENTICATED', payload: true });\n // } else {\n // dispatch({ type: 'SET_AUTHENTICATED', payload: false });\n // }\n // } else {\n // dispatch({ type: 'SET_AUTHENTICATED', payload: false });\n // }\n // } catch (error) {\n // console.error('Error verifying token:', error);\n // dispatch({ type: 'SET_AUTHENTICATED', payload: false });\n // }\n // };\n\n // verifyToken();\n // }, [dispatch]);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 1);\n return () => clearInterval(interval);\n }, []);\n \n // Catch login redirect\n useEffect(() => {\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 action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n \n // Auto Login\n useEffect(() => {\n if (dauthState.isAuthenticated) return;\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const verify = jwt.verify(token_ls, ask as string);\n console.log({ verify });\n if (token_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls: token_ls, domainName });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n }, [domainName, 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 }, []);\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 })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, 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","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","TOKEN_LS","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","_checkTokenAction","_callee5","_ref6","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_context6","getItem","removeItem","DauthContext","createContext","props","ask","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","token_url","URLSearchParams","get","verify","jwt","useCallback","name","lastname","nickname","telPrefix","telSuffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import React, { useReducer, useEffect, useCallback, useMemo, createContext, useContext } from 'react';
2
+ import jwt from 'jsonwebtoken';
2
3
 
3
4
  function _regeneratorRuntime() {
4
5
  _regeneratorRuntime = function () {
@@ -681,11 +682,11 @@ function setAutoLoginAction(_x2) {
681
682
  }
682
683
  function _setAutoLoginAction() {
683
684
  _setAutoLoginAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
684
- var dispatch, dauth_state_ls, domainName, sid, refreshAccessTokenFetch, getUserFetch;
685
+ var dispatch, dauth_state_ls, domainName, refreshAccessTokenFetch, getUserFetch;
685
686
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
686
687
  while (1) switch (_context2.prev = _context2.next) {
687
688
  case 0:
688
- dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName, sid = _ref2.sid;
689
+ dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName;
689
690
  dispatch({
690
691
  type: SET_IS_LOADING,
691
692
  payload: {
@@ -722,7 +723,7 @@ function _setAutoLoginAction() {
722
723
  case 16:
723
724
  window.location.replace(getClientBasePath({
724
725
  domainName: domainName
725
- }) + "/" + routes.tenantSignin + "/" + sid);
726
+ }) + "/" + routes.tenantSignin + "/" + domainName);
726
727
  return _context2.abrupt("return", resetUser(dispatch));
727
728
  case 18:
728
729
  _context2.next = 22;
@@ -730,7 +731,7 @@ function _setAutoLoginAction() {
730
731
  case 20:
731
732
  window.location.replace(getClientBasePath({
732
733
  domainName: domainName
733
- }) + "/" + routes.tenantSignin + "/" + sid);
734
+ }) + "/" + routes.tenantSignin + "/" + domainName);
734
735
  return _context2.abrupt("return", resetUser(dispatch));
735
736
  case 22:
736
737
  _context2.next = 28;
@@ -925,11 +926,11 @@ function checkTokenAction(_x5) {
925
926
  }
926
927
  function _checkTokenAction() {
927
928
  _checkTokenAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref6) {
928
- var dispatch, domainName, sid, token, refreshAccessTokenFetch;
929
+ var dispatch, domainName, token, refreshAccessTokenFetch;
929
930
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
930
931
  while (1) switch (_context5.prev = _context5.next) {
931
932
  case 0:
932
- dispatch = _ref6.dispatch, domainName = _ref6.domainName, sid = _ref6.sid, token = _ref6.token;
933
+ dispatch = _ref6.dispatch, domainName = _ref6.domainName, token = _ref6.token;
933
934
  _context5.prev = 1;
934
935
  _context5.next = 4;
935
936
  return refreshAccessTokenAPI(domainName, token);
@@ -943,7 +944,7 @@ function _checkTokenAction() {
943
944
  case 9:
944
945
  window.location.replace(getClientBasePath({
945
946
  domainName: domainName
946
- }) + "/" + routes.tenantSignin + "/" + sid);
947
+ }) + "/" + routes.tenantSignin + "/" + domainName);
947
948
  return _context5.abrupt("return", resetUser(dispatch));
948
949
  case 11:
949
950
  _context5.next = 17;
@@ -1023,11 +1024,41 @@ var resetUser = function resetUser(dispatch) {
1023
1024
 
1024
1025
  var DauthProvider = function DauthProvider(props) {
1025
1026
  var domainName = props.domainName,
1026
- sid = props.sid,
1027
+ ask = props.ask,
1027
1028
  children = props.children;
1028
1029
  var _useReducer = useReducer(userReducer, initialDauthState),
1029
1030
  dauthState = _useReducer[0],
1030
1031
  dispatch = _useReducer[1];
1032
+ // useEffect(() => {
1033
+ // const verifyToken = async () => {
1034
+ // const token = localStorage.getItem(TOKEN_LS);
1035
+ // if (!token) return;
1036
+ // try {
1037
+ // const response = await fetch('/api/verifyToken', {
1038
+ // method: 'POST',
1039
+ // headers: {
1040
+ // 'Content-Type': 'application/json',
1041
+ // Authorization: `Bearer ${token}`,
1042
+ // },
1043
+ // body: JSON.stringify({ token }),
1044
+ // });
1045
+ // if (response.ok) {
1046
+ // const data = await response.json();
1047
+ // if (data.valid) {
1048
+ // dispatch({ type: 'SET_AUTHENTICATED', payload: true });
1049
+ // } else {
1050
+ // dispatch({ type: 'SET_AUTHENTICATED', payload: false });
1051
+ // }
1052
+ // } else {
1053
+ // dispatch({ type: 'SET_AUTHENTICATED', payload: false });
1054
+ // }
1055
+ // } catch (error) {
1056
+ // console.error('Error verifying token:', error);
1057
+ // dispatch({ type: 'SET_AUTHENTICATED', payload: false });
1058
+ // }
1059
+ // };
1060
+ // verifyToken();
1061
+ // }, [dispatch]);
1031
1062
  // Check token periodically
1032
1063
  useEffect(function () {
1033
1064
  if (!dauthState.isAuthenticated) return;
@@ -1037,10 +1068,9 @@ var DauthProvider = function DauthProvider(props) {
1037
1068
  checkTokenAction({
1038
1069
  dispatch: dispatch,
1039
1070
  domainName: domainName,
1040
- sid: sid,
1041
1071
  token: token_ls
1042
1072
  });
1043
- }, 1000 * 60 * 2);
1073
+ }, 1000 * 60 * 1);
1044
1074
  return function () {
1045
1075
  return clearInterval(interval);
1046
1076
  };
@@ -1061,21 +1091,26 @@ var DauthProvider = function DauthProvider(props) {
1061
1091
  }, []);
1062
1092
  // Auto Login
1063
1093
  useEffect(function () {
1064
- var dauth_state_ls = localStorage.getItem(TOKEN_LS);
1065
- if (dauth_state_ls && !dauthState.isAuthenticated) {
1094
+ if (dauthState.isAuthenticated) return;
1095
+ var token_ls = localStorage.getItem(TOKEN_LS);
1096
+ if (!token_ls) return;
1097
+ var verify = jwt.verify(token_ls, ask);
1098
+ console.log({
1099
+ verify: verify
1100
+ });
1101
+ if (token_ls && !dauthState.isAuthenticated) {
1066
1102
  setAutoLoginAction({
1067
1103
  dispatch: dispatch,
1068
- dauth_state_ls: dauth_state_ls,
1069
- domainName: domainName,
1070
- sid: sid
1104
+ dauth_state_ls: token_ls,
1105
+ domainName: domainName
1071
1106
  });
1072
1107
  }
1073
1108
  }, []);
1074
1109
  var loginWithRedirect = useCallback(function () {
1075
1110
  return window.location.replace(getClientBasePath({
1076
1111
  domainName: domainName
1077
- }) + "/" + routes.tenantSignin + "/" + sid);
1078
- }, [domainName, sid]);
1112
+ }) + "/" + routes.tenantSignin + "/" + domainName);
1113
+ }, [domainName, domainName]);
1079
1114
  var logout = useCallback(function () {
1080
1115
  return setLogoutAction({
1081
1116
  dispatch: dispatch
@@ -1102,18 +1137,18 @@ var DauthProvider = function DauthProvider(props) {
1102
1137
  })), []);
1103
1138
  var updateUser = useCallback( /*#__PURE__*/function () {
1104
1139
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
1105
- var name, lastname, nickname, tel_prefix, tel_suffix, language, avatar, token_ls, user;
1140
+ var name, lastname, nickname, telPrefix, telSuffix, language, avatar, token_ls, user;
1106
1141
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1107
1142
  while (1) switch (_context2.prev = _context2.next) {
1108
1143
  case 0:
1109
- name = _ref2.name, lastname = _ref2.lastname, nickname = _ref2.nickname, tel_prefix = _ref2.tel_prefix, tel_suffix = _ref2.tel_suffix, language = _ref2.language, avatar = _ref2.avatar;
1144
+ name = _ref2.name, lastname = _ref2.lastname, nickname = _ref2.nickname, telPrefix = _ref2.telPrefix, telSuffix = _ref2.telSuffix, language = _ref2.language, avatar = _ref2.avatar;
1110
1145
  token_ls = localStorage.getItem(TOKEN_LS);
1111
1146
  user = {
1112
1147
  name: name,
1113
1148
  lastname: lastname,
1114
1149
  nickname: nickname,
1115
- tel_prefix: tel_prefix,
1116
- tel_suffix: tel_suffix,
1150
+ telPrefix: telPrefix,
1151
+ telSuffix: telSuffix,
1117
1152
  language: language,
1118
1153
  avatar: avatar
1119
1154
  };
@@ -1141,8 +1176,8 @@ var DauthProvider = function DauthProvider(props) {
1141
1176
  if (!token_ls) return;
1142
1177
  return window.location.replace(getClientBasePath({
1143
1178
  domainName: domainName
1144
- }) + "/" + routes.tenantUpdateUser + "/" + sid + "/" + token_ls);
1145
- }, [domainName, sid]);
1179
+ }) + "/" + routes.tenantUpdateUser + "/" + domainName + "/" + token_ls);
1180
+ }, [domainName, domainName]);
1146
1181
  var sendEmailVerification = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
1147
1182
  var token_ls;
1148
1183
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\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 '../initialDauthState';\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 routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.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 window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\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({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\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 '../initialDauthState';\nimport { routes } from '../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(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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 dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\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.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('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 sid,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\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, { IDauthUser } 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 './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\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 action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n }, [domainName, sid]);\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 }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\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 tel_prefix,\n tel_suffix,\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 })}/${\n routes.tenantUpdateUser\n }/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\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","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\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 '../initialDauthState';\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 routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.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 window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\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({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\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<any> => {\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({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\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 '../initialDauthState';\nimport { routes } from '../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(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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 dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_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 dauth_state_ls\n ); \n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\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.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(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.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('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 return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\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, { IDauthUser } 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 './routes';\nimport jwt from 'jsonwebtoken';\n\ninterface DauthProviderProps {\n domainName: string;\n ask: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, ask, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // useEffect(() => {\n // const verifyToken = async () => {\n // const token = localStorage.getItem(TOKEN_LS);\n // if (!token) return;\n\n // try {\n // const response = await fetch('/api/verifyToken', {\n // method: 'POST',\n // headers: {\n // 'Content-Type': 'application/json',\n // Authorization: `Bearer ${token}`,\n // },\n // body: JSON.stringify({ token }),\n // });\n\n // if (response.ok) {\n // const data = await response.json();\n // if (data.valid) {\n // dispatch({ type: 'SET_AUTHENTICATED', payload: true });\n // } else {\n // dispatch({ type: 'SET_AUTHENTICATED', payload: false });\n // }\n // } else {\n // dispatch({ type: 'SET_AUTHENTICATED', payload: false });\n // }\n // } catch (error) {\n // console.error('Error verifying token:', error);\n // dispatch({ type: 'SET_AUTHENTICATED', payload: false });\n // }\n // };\n\n // verifyToken();\n // }, [dispatch]);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 1);\n return () => clearInterval(interval);\n }, []);\n \n // Catch login redirect\n useEffect(() => {\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 action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n \n // Auto Login\n useEffect(() => {\n if (dauthState.isAuthenticated) return;\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const verify = jwt.verify(token_ls, ask as string);\n console.log({ verify });\n if (token_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls: token_ls, domainName });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n }, [domainName, 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 }, []);\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 })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, 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","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","ask","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","verify","jwt","useCallback","name","lastname","nickname","telPrefix","telSuffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  interface DauthProviderProps {
3
3
  domainName: string;
4
- sid: string;
4
+ ask: string;
5
5
  children: React.ReactNode;
6
6
  }
7
7
  export declare const DauthProvider: React.FC<DauthProviderProps>;