dauth-context-react 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/utils/config.d.ts +2 -6
- package/dist/api/utils/routes.d.ts +2 -2
- package/dist/dauth-context-react.cjs.development.js +18 -42
- package/dist/dauth-context-react.cjs.development.js.map +1 -1
- package/dist/dauth-context-react.cjs.production.min.js +1 -1
- package/dist/dauth-context-react.cjs.production.min.js.map +1 -1
- package/dist/dauth-context-react.esm.js +18 -42
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/api/dauth.api.ts +5 -11
- package/src/api/utils/config.ts +7 -11
- package/src/api/utils/routes.ts +2 -2
- package/src/index.tsx +2 -6
- package/src/initialDauthState.ts +4 -1
- package/src/reducer/dauth.actions.ts +7 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: (typeof window !== 'undefined' ? window.document.documentElement.getAttribute('lang') : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n );\n}\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = checkIsLocalhost();\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 isLocalhost = checkIsLocalhost();\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 { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n IverifyTokenAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/tenant/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/tenant/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const verifyTokenAPI = async ({\n domainName,\n tsk,\n token,\n}: {\n domainName: string;\n tsk: string;\n token: string;\n}): Promise<IverifyTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ tsk }),\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/tenant/${domainName}/verify-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\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.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n token_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const newToken = refreshAccessTokenFetch.data.accessToken || token_ls;\n const getUserFetch = await getUserAPI(domainName, newToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n if (refreshAccessTokenFetch.data.accessToken) {\n localStorage.setItem(TOKEN_LS, refreshAccessTokenFetch.data.accessToken);\n }\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${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 from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n tsk: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, tsk, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n const isValidTsk = useCallback(\n async (token: string) => {\n try {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n tsk,\n });\n if (verifyToken.response.status !== 200) {\n return false;\n }\n return true;\n } catch (error) {\n return false;\n }\n },\n [domainName, tsk]\n );\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.checkTokenAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, isValidTsk]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_url);\n if (isValid) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","userReducer","state","action","payload","_extends","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","_ref","domainName","isLocalhost","serverLocalUrl","protocol","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","verifyTokenAPI","_ref6","_callee5","_ref5","_context5","tsk","_x10","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","error","finish","setAutoLoginAction","_setAutoLoginAction","token_ls","refreshAccessTokenFetch","newToken","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","checkTokenAction","_checkTokenAction","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","_refreshAccessTokenFe","_context6","getItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","isValidTsk","useCallback","useEffect","interval","setInterval","Error","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_context7","memoProvider","useMemo","React","Provider","value","context","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n IverifyTokenAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const verifyTokenAPI = async ({\n domainName,\n tsk,\n token,\n}: {\n domainName: string;\n tsk: string;\n token: string;\n}): Promise<IverifyTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ tsk }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/verify-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\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.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n token_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const newToken = refreshAccessTokenFetch.data.accessToken || token_ls;\n const getUserFetch = await getUserAPI(domainName, newToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n if (refreshAccessTokenFetch.data.accessToken) {\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n }\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n tsk: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, tsk, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n const isValidTsk = useCallback(\n async (token: string) => {\n try {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n tsk,\n });\n if (verifyToken.response.status !== 200) {\n return false;\n }\n return true;\n } catch (error) {\n return false;\n }\n },\n [domainName, tsk]\n );\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.checkTokenAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, isValidTsk]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_url);\n if (isValid) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","userReducer","state","action","payload","_extends","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverLocalUrl","protocol","getClientBasePath","clientLocalUrl","getUserAPI","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","domainName","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","verifyTokenAPI","_ref6","_callee5","_ref5","_context5","tsk","_x10","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","error","finish","setAutoLoginAction","_setAutoLoginAction","token_ls","refreshAccessTokenFetch","newToken","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","checkTokenAction","_checkTokenAction","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","_refreshAccessTokenFe","_context6","getItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","isValidTsk","useCallback","useEffect","interval","setInterval","Error","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_context7","memoProvider","useMemo","React","Provider","value","context","useContext"],"mappings":"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"}
|
|
@@ -441,23 +441,19 @@ function checkIsLocalhost() {
|
|
|
441
441
|
var hostname = window.location.hostname;
|
|
442
442
|
return Boolean(hostname === 'localhost' || hostname === '[::1]' || hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm) || hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));
|
|
443
443
|
}
|
|
444
|
-
function getServerBasePath(
|
|
445
|
-
var domainName = _ref.domainName;
|
|
444
|
+
function getServerBasePath() {
|
|
446
445
|
var isLocalhost = checkIsLocalhost();
|
|
447
446
|
var serverPort = 4012;
|
|
448
447
|
var serverLocalUrl = window.location.protocol + "//" + window.location.hostname + ":" + serverPort + "/api/" + apiVersion;
|
|
449
|
-
var serverProdUrl = "https://" +
|
|
450
|
-
|
|
451
|
-
return serverBasePath;
|
|
448
|
+
var serverProdUrl = "https://" + serverDomain + "/api/" + apiVersion;
|
|
449
|
+
return isLocalhost ? serverLocalUrl : serverProdUrl;
|
|
452
450
|
}
|
|
453
|
-
function getClientBasePath(
|
|
454
|
-
var domainName = _ref2.domainName;
|
|
451
|
+
function getClientBasePath() {
|
|
455
452
|
var isLocalhost = checkIsLocalhost();
|
|
456
453
|
var clientPort = 5185;
|
|
457
454
|
var clientLocalUrl = window.location.protocol + "//" + window.location.hostname + ":" + clientPort;
|
|
458
|
-
var clientProdUrl = "https://" +
|
|
459
|
-
|
|
460
|
-
return clientBasePath;
|
|
455
|
+
var clientProdUrl = "https://" + serverDomain;
|
|
456
|
+
return isLocalhost ? clientLocalUrl : clientProdUrl;
|
|
461
457
|
}
|
|
462
458
|
|
|
463
459
|
var getUserAPI = /*#__PURE__*/function () {
|
|
@@ -474,9 +470,7 @@ var getUserAPI = /*#__PURE__*/function () {
|
|
|
474
470
|
}
|
|
475
471
|
};
|
|
476
472
|
_context.next = 3;
|
|
477
|
-
return fetch(getServerBasePath(
|
|
478
|
-
domainName: domainName
|
|
479
|
-
}) + "/tenant/" + domainName + "/user", params);
|
|
473
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/user", params);
|
|
480
474
|
case 3:
|
|
481
475
|
response = _context.sent;
|
|
482
476
|
_context.next = 6;
|
|
@@ -512,9 +506,7 @@ var updateUserAPI = /*#__PURE__*/function () {
|
|
|
512
506
|
body: JSON.stringify(user)
|
|
513
507
|
};
|
|
514
508
|
_context2.next = 3;
|
|
515
|
-
return fetch(getServerBasePath(
|
|
516
|
-
domainName: domainName
|
|
517
|
-
}) + "/tenant/" + domainName + "/user", params);
|
|
509
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/user", params);
|
|
518
510
|
case 3:
|
|
519
511
|
response = _context2.sent;
|
|
520
512
|
_context2.next = 6;
|
|
@@ -549,9 +541,7 @@ var sendEmailVerificationAPI = /*#__PURE__*/function () {
|
|
|
549
541
|
}
|
|
550
542
|
};
|
|
551
543
|
_context3.next = 3;
|
|
552
|
-
return fetch(getServerBasePath(
|
|
553
|
-
domainName: domainName
|
|
554
|
-
}) + "/tenant/" + domainName + "/resend-email-verification", params);
|
|
544
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/resend-email-verification", params);
|
|
555
545
|
case 3:
|
|
556
546
|
response = _context3.sent;
|
|
557
547
|
_context3.next = 6;
|
|
@@ -586,9 +576,7 @@ var refreshAccessTokenAPI = /*#__PURE__*/function () {
|
|
|
586
576
|
}
|
|
587
577
|
};
|
|
588
578
|
_context4.next = 3;
|
|
589
|
-
return fetch(getServerBasePath(
|
|
590
|
-
domainName: domainName
|
|
591
|
-
}) + "/tenant/" + domainName + "/refresh-access-token", params);
|
|
579
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/refresh-access-token", params);
|
|
592
580
|
case 3:
|
|
593
581
|
response = _context4.sent;
|
|
594
582
|
_context4.next = 6;
|
|
@@ -627,9 +615,7 @@ var verifyTokenAPI = /*#__PURE__*/function () {
|
|
|
627
615
|
})
|
|
628
616
|
};
|
|
629
617
|
_context5.next = 4;
|
|
630
|
-
return fetch(getServerBasePath(
|
|
631
|
-
domainName: domainName
|
|
632
|
-
}) + "/tenant/" + domainName + "/verify-token", params);
|
|
618
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/verify-token", params);
|
|
633
619
|
case 4:
|
|
634
620
|
response = _context5.sent;
|
|
635
621
|
_context5.next = 7;
|
|
@@ -654,8 +640,8 @@ var verifyTokenAPI = /*#__PURE__*/function () {
|
|
|
654
640
|
var TOKEN_LS = 'dauth_state';
|
|
655
641
|
|
|
656
642
|
var routes = {
|
|
657
|
-
|
|
658
|
-
|
|
643
|
+
signin: 'signin',
|
|
644
|
+
updateUser: 'update-user'
|
|
659
645
|
};
|
|
660
646
|
|
|
661
647
|
function setDauthStateAction(_x) {
|
|
@@ -765,17 +751,13 @@ function _setAutoLoginAction() {
|
|
|
765
751
|
localStorage.setItem(TOKEN_LS, refreshAccessTokenFetch.data.accessToken);
|
|
766
752
|
return _context2.abrupt("return");
|
|
767
753
|
case 17:
|
|
768
|
-
window.location.replace(getClientBasePath(
|
|
769
|
-
domainName: domainName
|
|
770
|
-
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
754
|
+
window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.signin);
|
|
771
755
|
return _context2.abrupt("return", resetUser(dispatch));
|
|
772
756
|
case 19:
|
|
773
757
|
_context2.next = 23;
|
|
774
758
|
break;
|
|
775
759
|
case 21:
|
|
776
|
-
window.location.replace(getClientBasePath(
|
|
777
|
-
domainName: domainName
|
|
778
|
-
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
760
|
+
window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.signin);
|
|
779
761
|
return _context2.abrupt("return", resetUser(dispatch));
|
|
780
762
|
case 23:
|
|
781
763
|
_context2.next = 29;
|
|
@@ -989,9 +971,7 @@ function _checkTokenAction() {
|
|
|
989
971
|
}
|
|
990
972
|
return _context5.abrupt("return");
|
|
991
973
|
case 10:
|
|
992
|
-
window.location.replace(getClientBasePath(
|
|
993
|
-
domainName: domainName
|
|
994
|
-
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
974
|
+
window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.signin);
|
|
995
975
|
return _context5.abrupt("return", resetUser(dispatch));
|
|
996
976
|
case 12:
|
|
997
977
|
_context5.next = 18;
|
|
@@ -1248,9 +1228,7 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1248
1228
|
}))();
|
|
1249
1229
|
}, []);
|
|
1250
1230
|
var loginWithRedirect = useCallback(function () {
|
|
1251
|
-
return window.location.replace(getClientBasePath(
|
|
1252
|
-
domainName: domainName
|
|
1253
|
-
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
1231
|
+
return window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.signin);
|
|
1254
1232
|
}, [domainName]);
|
|
1255
1233
|
var logout = useCallback(function () {
|
|
1256
1234
|
return setLogoutAction({
|
|
@@ -1315,9 +1293,7 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1315
1293
|
var updateUserWithRedirect = useCallback(function () {
|
|
1316
1294
|
var token_ls = localStorage.getItem(TOKEN_LS);
|
|
1317
1295
|
if (!token_ls) return;
|
|
1318
|
-
return window.location.replace(getClientBasePath(
|
|
1319
|
-
domainName: domainName
|
|
1320
|
-
}) + "/" + routes.tenantUpdateUser + "/" + domainName + "/" + token_ls);
|
|
1296
|
+
return window.location.replace(getClientBasePath() + "/" + domainName + "/" + routes.updateUser + "/" + token_ls);
|
|
1321
1297
|
}, [domainName]);
|
|
1322
1298
|
var sendEmailVerification = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
1323
1299
|
var token_ls;
|
|
@@ -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/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/api/utils/routes.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: (typeof window !== 'undefined' ? window.document.documentElement.getAttribute('lang') : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n );\n}\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const isLocalhost = checkIsLocalhost();\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 isLocalhost = checkIsLocalhost();\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 { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n IverifyTokenAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/tenant/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/tenant/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/tenant/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const verifyTokenAPI = async ({\n domainName,\n tsk,\n token,\n}: {\n domainName: string;\n tsk: string;\n token: string;\n}): Promise<IverifyTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ tsk }),\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/tenant/${domainName}/verify-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","export const routes = {\n tenantSignin: 'tenant/signin',\n tenantUpdateUser: 'tenant/update-user',\n};\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\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.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n token_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const newToken = refreshAccessTokenFetch.data.accessToken || token_ls;\n const getUserFetch = await getUserAPI(domainName, newToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n if (refreshAccessTokenFetch.data.accessToken) {\n localStorage.setItem(TOKEN_LS, refreshAccessTokenFetch.data.accessToken);\n }\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${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 from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n tsk: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, tsk, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n const isValidTsk = useCallback(\n async (token: string) => {\n try {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n tsk,\n });\n if (verifyToken.response.status !== 200) {\n return false;\n }\n return true;\n } catch (error) {\n return false;\n }\n },\n [domainName, tsk]\n );\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.checkTokenAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, isValidTsk]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_url);\n if (isValid) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","apiVersion","serverDomain","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","_ref","domainName","isLocalhost","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","verifyTokenAPI","_ref6","_callee5","_ref5","tsk","_callee5$","_context5","_x10","TOKEN_LS","routes","tenantSignin","tenantUpdateUser","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","error","finish","setAutoLoginAction","_setAutoLoginAction","token_ls","refreshAccessTokenFetch","newToken","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","checkTokenAction","_checkTokenAction","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","isValidTsk","useCallback","verifyToken","useEffect","interval","setInterval","isValid","Error","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_callee7$","_context7","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext"],"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/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/api/utils/routes.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n IverifyTokenAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const verifyTokenAPI = async ({\n domainName,\n tsk,\n token,\n}: {\n domainName: string;\n tsk: string;\n token: string;\n}): Promise<IverifyTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ tsk }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/verify-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","export const routes = {\n signin: 'signin',\n updateUser: 'update-user',\n};\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\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.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n token_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const newToken = refreshAccessTokenFetch.data.accessToken || token_ls;\n const getUserFetch = await getUserAPI(domainName, newToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n if (refreshAccessTokenFetch.data.accessToken) {\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n }\n return;\n } else {\n window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n tsk: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, tsk, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n const isValidTsk = useCallback(\n async (token: string) => {\n try {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n tsk,\n });\n if (verifyToken.response.status !== 200) {\n return false;\n }\n return true;\n } catch (error) {\n return false;\n }\n },\n [domainName, tsk]\n );\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.checkTokenAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, isValidTsk]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_url);\n if (isValid) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n const isValid = await isValidTsk(token_ls);\n if (isValid) {\n return action.setAutoLoginAction({\n dispatch,\n token_ls,\n domainName,\n });\n } else {\n action.setLogoutAction({ dispatch });\n throw new Error('Ask value in DauthProvider is not valid');\n }\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","apiVersion","serverDomain","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverPort","serverLocalUrl","protocol","serverProdUrl","getClientBasePath","clientPort","clientLocalUrl","clientProdUrl","getUserAPI","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","domainName","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","verifyTokenAPI","_ref6","_callee5","_ref5","tsk","_callee5$","_context5","_x10","TOKEN_LS","routes","signin","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","error","finish","setAutoLoginAction","_setAutoLoginAction","token_ls","refreshAccessTokenFetch","newToken","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","checkTokenAction","_checkTokenAction","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","isValidTsk","useCallback","verifyToken","useEffect","interval","setInterval","isValid","Error","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_callee7$","_context7","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext"],"mappings":"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"}
|
package/package.json
CHANGED