dauth-context-react 0.1.998 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/dauth-context-react.cjs.development.js +35 -94
- 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 +35 -94
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/reducer/dauth.actions.d.ts +3 -2
- package/package.json +1 -1
- package/src/api/dauth.api.ts +2 -2
- package/src/index.tsx +5 -25
- package/src/reducer/dauth.actions.ts +15 -74
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => any;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n sev: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => void;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n updateUserWithRedirect: () => {},\n // Send email verification\n sev: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => {},\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 * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/t-get-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/t-update-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state);\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(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\n // localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n 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 return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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 return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\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 return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n }\n}\n\n// export async function refreshTokenAction({\n// dispatch,\n// domainName,\n// token,\n// }: {\n// 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// console.log(refreshAccessTokenFetch.data.accessToken);\n// localStorage.removeItem(DAUTH_STATE);\n// localStorage.setItem(\n// DAUTH_STATE,\n// refreshAccessTokenFetch.data.accessToken\n// );\n// return;\n// } else {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// return;\n// }\n// } catch (error) {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// console.log(error);\n// }\n// }\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n sid,\n token,\n}: {\n dispatch: any;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: any;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(DAUTH_STATE);\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: any) => {\n localStorage.removeItem(DAUTH_STATE);\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, {\n IDauthState,\n IDauthUser,\n} from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Check token every minute\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, domainName]);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token;\n // const token_ls = localStorage.getItem(DAUTH_STATE);\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 // action.resetUser(dispatch);\n // window.location.replace(\n // `${getClientBasePath({ domainName })}/t-sign/${sid}`\n // );\n // return 'token-not-found';\n // }\n // } catch (error) {\n // action.resetUser(dispatch);\n // throw error;\n // }\n }, []);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => 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","updateUser","updateUserWithRedirect","sev","status","type","message","sendEmailVerification","LOGIN","userReducer","state","action","payload","DauthTypes","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","resetUser","_setLogoutAction","_setUpdateUserAction","setAttribute","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_context5","_checkTokenAction","_callee6","_ref6","sid","_context6","replace","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","_refreshAccessTokenFe","_context7","getItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","URLSearchParams","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => any;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n sev: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => void;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n updateUserWithRedirect: () => {},\n // Send email verification\n sev: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => {},\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 * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/t-get-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/t-update-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state);\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(DAUTH_STATE, dauth_state);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/t-signin/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/t-signin/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n 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 return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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 return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\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 return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n sid,\n token,\n}: {\n dispatch: any;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/t-signin/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: any;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(DAUTH_STATE);\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: any) => {\n localStorage.removeItem(DAUTH_STATE);\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, {\n IDauthState,\n IDauthUser,\n} from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-signin/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token;\n }, []);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => 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","updateUser","updateUserWithRedirect","sev","status","type","message","sendEmailVerification","LOGIN","userReducer","state","action","payload","DauthTypes","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","_setLogoutAction","removeItem","_setUpdateUserAction","setAttribute","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_context5","_checkTokenAction","_callee6","_ref6","_context6","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","_refreshAccessTokenFe","_context7","getItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","URLSearchParams","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
@@ -444,7 +444,7 @@ var getUserAPI = /*#__PURE__*/function () {
|
|
|
444
444
|
params = {
|
|
445
445
|
method: 'GET',
|
|
446
446
|
headers: {
|
|
447
|
-
Authorization:
|
|
447
|
+
Authorization: token,
|
|
448
448
|
'Content-Type': 'application/json'
|
|
449
449
|
}
|
|
450
450
|
};
|
|
@@ -481,7 +481,7 @@ var updateUserAPI = /*#__PURE__*/function () {
|
|
|
481
481
|
params = {
|
|
482
482
|
method: 'PATCH',
|
|
483
483
|
headers: {
|
|
484
|
-
Authorization:
|
|
484
|
+
Authorization: token,
|
|
485
485
|
'Content-Type': 'application/json'
|
|
486
486
|
},
|
|
487
487
|
body: JSON.stringify(user)
|
|
@@ -623,15 +623,15 @@ function _setDauthStateAction() {
|
|
|
623
623
|
window.history.replaceState({}, document.title, getUserFetch.data.domain.loginRedirect);
|
|
624
624
|
return _context.abrupt("return", localStorage.setItem(DAUTH_STATE, dauth_state));
|
|
625
625
|
case 12:
|
|
626
|
-
return _context.abrupt("return",
|
|
626
|
+
return _context.abrupt("return", resetUser(dispatch));
|
|
627
627
|
case 13:
|
|
628
628
|
_context.next = 19;
|
|
629
629
|
break;
|
|
630
630
|
case 15:
|
|
631
631
|
_context.prev = 15;
|
|
632
632
|
_context.t0 = _context["catch"](2);
|
|
633
|
-
localStorage.removeItem(DAUTH_STATE);
|
|
634
633
|
console.log(_context.t0);
|
|
634
|
+
return _context.abrupt("return", resetUser(dispatch));
|
|
635
635
|
case 19:
|
|
636
636
|
_context.prev = 19;
|
|
637
637
|
dispatch({
|
|
@@ -654,11 +654,11 @@ function setAutoLoginAction(_x2) {
|
|
|
654
654
|
}
|
|
655
655
|
function _setAutoLoginAction() {
|
|
656
656
|
_setAutoLoginAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
657
|
-
var dispatch, dauth_state_ls, domainName, refreshAccessTokenFetch, getUserFetch;
|
|
657
|
+
var dispatch, dauth_state_ls, domainName, sid, refreshAccessTokenFetch, getUserFetch;
|
|
658
658
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
659
659
|
while (1) switch (_context2.prev = _context2.next) {
|
|
660
660
|
case 0:
|
|
661
|
-
dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName;
|
|
661
|
+
dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName, sid = _ref2.sid;
|
|
662
662
|
dispatch({
|
|
663
663
|
type: SET_IS_LOADING,
|
|
664
664
|
payload: {
|
|
@@ -671,7 +671,7 @@ function _setAutoLoginAction() {
|
|
|
671
671
|
case 5:
|
|
672
672
|
refreshAccessTokenFetch = _context2.sent;
|
|
673
673
|
if (!(refreshAccessTokenFetch.response.status === 200)) {
|
|
674
|
-
_context2.next =
|
|
674
|
+
_context2.next = 20;
|
|
675
675
|
break;
|
|
676
676
|
}
|
|
677
677
|
_context2.next = 9;
|
|
@@ -693,53 +693,40 @@ function _setAutoLoginAction() {
|
|
|
693
693
|
localStorage.setItem(DAUTH_STATE, refreshAccessTokenFetch.data.accessToken);
|
|
694
694
|
return _context2.abrupt("return");
|
|
695
695
|
case 16:
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
// isAuthenticated: false,
|
|
703
|
-
// },
|
|
704
|
-
// });
|
|
705
|
-
// localStorage.removeItem(DAUTH_STATE);
|
|
706
|
-
case 17:
|
|
707
|
-
_context2.next = 20;
|
|
696
|
+
window.location.replace(getClientBasePath({
|
|
697
|
+
domainName: domainName
|
|
698
|
+
}) + "/t-signin/" + sid);
|
|
699
|
+
return _context2.abrupt("return", resetUser(dispatch));
|
|
700
|
+
case 18:
|
|
701
|
+
_context2.next = 22;
|
|
708
702
|
break;
|
|
709
|
-
case 19:
|
|
710
|
-
resetUser(dispatch);
|
|
711
|
-
// dispatch({
|
|
712
|
-
// type: DauthTypes.LOGIN,
|
|
713
|
-
// payload: {
|
|
714
|
-
// user: {} as IDauthUser,
|
|
715
|
-
// domain: {} as IDauthDomainState,
|
|
716
|
-
// isAuthenticated: false,
|
|
717
|
-
// },
|
|
718
|
-
// });
|
|
719
|
-
// localStorage.removeItem(DAUTH_STATE);
|
|
720
703
|
case 20:
|
|
721
|
-
|
|
722
|
-
|
|
704
|
+
window.location.replace(getClientBasePath({
|
|
705
|
+
domainName: domainName
|
|
706
|
+
}) + "/t-signin/" + sid);
|
|
707
|
+
return _context2.abrupt("return", resetUser(dispatch));
|
|
723
708
|
case 22:
|
|
724
|
-
_context2.
|
|
709
|
+
_context2.next = 28;
|
|
710
|
+
break;
|
|
711
|
+
case 24:
|
|
712
|
+
_context2.prev = 24;
|
|
725
713
|
_context2.t0 = _context2["catch"](2);
|
|
726
|
-
resetUser(dispatch);
|
|
727
|
-
// localStorage.removeItem(DAUTH_STATE);
|
|
728
714
|
console.log(_context2.t0);
|
|
729
|
-
|
|
730
|
-
|
|
715
|
+
return _context2.abrupt("return", resetUser(dispatch));
|
|
716
|
+
case 28:
|
|
717
|
+
_context2.prev = 28;
|
|
731
718
|
dispatch({
|
|
732
719
|
type: SET_IS_LOADING,
|
|
733
720
|
payload: {
|
|
734
721
|
isLoading: false
|
|
735
722
|
}
|
|
736
723
|
});
|
|
737
|
-
return _context2.finish(
|
|
738
|
-
case
|
|
724
|
+
return _context2.finish(28);
|
|
725
|
+
case 31:
|
|
739
726
|
case "end":
|
|
740
727
|
return _context2.stop();
|
|
741
728
|
}
|
|
742
|
-
}, _callee2, null, [[2,
|
|
729
|
+
}, _callee2, null, [[2, 24, 28, 31]]);
|
|
743
730
|
}));
|
|
744
731
|
return _setAutoLoginAction.apply(this, arguments);
|
|
745
732
|
}
|
|
@@ -820,7 +807,7 @@ function _setUpdateUserAction() {
|
|
|
820
807
|
payload: getUserFetch.data.user
|
|
821
808
|
}));
|
|
822
809
|
case 12:
|
|
823
|
-
console.log('Update user error');
|
|
810
|
+
console.log('Update user error', getUserFetch.data.message);
|
|
824
811
|
return _context4.abrupt("return");
|
|
825
812
|
case 14:
|
|
826
813
|
_context4.next = 19;
|
|
@@ -840,53 +827,6 @@ function _setUpdateUserAction() {
|
|
|
840
827
|
function sendEmailVerificationAction(_x5) {
|
|
841
828
|
return _sendEmailVerificationAction.apply(this, arguments);
|
|
842
829
|
}
|
|
843
|
-
// export async function refreshTokenAction({
|
|
844
|
-
// dispatch,
|
|
845
|
-
// domainName,
|
|
846
|
-
// token,
|
|
847
|
-
// }: {
|
|
848
|
-
// dispatch: any;
|
|
849
|
-
// domainName: string;
|
|
850
|
-
// token: string;
|
|
851
|
-
// }) {
|
|
852
|
-
// try {
|
|
853
|
-
// const refreshAccessTokenFetch = await refreshAccessTokenAPI(
|
|
854
|
-
// domainName,
|
|
855
|
-
// token
|
|
856
|
-
// );
|
|
857
|
-
// if (refreshAccessTokenFetch.response.status === 200) {
|
|
858
|
-
// console.log(refreshAccessTokenFetch.data.accessToken);
|
|
859
|
-
// localStorage.removeItem(DAUTH_STATE);
|
|
860
|
-
// localStorage.setItem(
|
|
861
|
-
// DAUTH_STATE,
|
|
862
|
-
// refreshAccessTokenFetch.data.accessToken
|
|
863
|
-
// );
|
|
864
|
-
// return;
|
|
865
|
-
// } else {
|
|
866
|
-
// dispatch({
|
|
867
|
-
// type: DauthTypes.LOGIN,
|
|
868
|
-
// payload: {
|
|
869
|
-
// user: {} as IDauthUser,
|
|
870
|
-
// domain: {} as IDauthDomainState,
|
|
871
|
-
// isAuthenticated: false,
|
|
872
|
-
// },
|
|
873
|
-
// });
|
|
874
|
-
// localStorage.removeItem(DAUTH_STATE);
|
|
875
|
-
// return;
|
|
876
|
-
// }
|
|
877
|
-
// } catch (error) {
|
|
878
|
-
// dispatch({
|
|
879
|
-
// type: DauthTypes.LOGIN,
|
|
880
|
-
// payload: {
|
|
881
|
-
// user: {} as IDauthUser,
|
|
882
|
-
// domain: {} as IDauthDomainState,
|
|
883
|
-
// isAuthenticated: false,
|
|
884
|
-
// },
|
|
885
|
-
// });
|
|
886
|
-
// localStorage.removeItem(DAUTH_STATE);
|
|
887
|
-
// console.log(error);
|
|
888
|
-
// }
|
|
889
|
-
// }
|
|
890
830
|
function _sendEmailVerificationAction() {
|
|
891
831
|
_sendEmailVerificationAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5) {
|
|
892
832
|
var dispatch, domainName, token, sendEmailFetch;
|
|
@@ -985,7 +925,7 @@ function _checkTokenAction() {
|
|
|
985
925
|
case 9:
|
|
986
926
|
window.location.replace(getClientBasePath({
|
|
987
927
|
domainName: domainName
|
|
988
|
-
}) + "/t-
|
|
928
|
+
}) + "/t-signin/" + sid);
|
|
989
929
|
return _context6.abrupt("return", resetUser(dispatch));
|
|
990
930
|
case 11:
|
|
991
931
|
_context6.next = 17;
|
|
@@ -1071,7 +1011,7 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1071
1011
|
ds = _useReducer[0],
|
|
1072
1012
|
dispatch = _useReducer[1];
|
|
1073
1013
|
var dauthState = ds;
|
|
1074
|
-
// Check token
|
|
1014
|
+
// Check token periodically
|
|
1075
1015
|
useEffect(function () {
|
|
1076
1016
|
if (!dauthState.isAuthenticated) return;
|
|
1077
1017
|
var interval = setInterval(function () {
|
|
@@ -1083,11 +1023,11 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1083
1023
|
sid: sid,
|
|
1084
1024
|
token: token_ls
|
|
1085
1025
|
});
|
|
1086
|
-
}, 1000 * 60);
|
|
1026
|
+
}, 1000 * 60 * 2);
|
|
1087
1027
|
return function () {
|
|
1088
1028
|
return clearInterval(interval);
|
|
1089
1029
|
};
|
|
1090
|
-
}, [
|
|
1030
|
+
}, []);
|
|
1091
1031
|
// Catch login redirect
|
|
1092
1032
|
useEffect(function () {
|
|
1093
1033
|
var queryString = window.location.search;
|
|
@@ -1109,14 +1049,15 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1109
1049
|
setAutoLoginAction({
|
|
1110
1050
|
dispatch: dispatch,
|
|
1111
1051
|
dauth_state_ls: dauth_state_ls,
|
|
1112
|
-
domainName: domainName
|
|
1052
|
+
domainName: domainName,
|
|
1053
|
+
sid: sid
|
|
1113
1054
|
});
|
|
1114
1055
|
}
|
|
1115
1056
|
}, []);
|
|
1116
1057
|
var loginWithRedirect = useCallback(function () {
|
|
1117
1058
|
return window.location.replace(getClientBasePath({
|
|
1118
1059
|
domainName: domainName
|
|
1119
|
-
}) + "/t-
|
|
1060
|
+
}) + "/t-signin/" + sid);
|
|
1120
1061
|
}, [domainName, sid]);
|
|
1121
1062
|
var logout = useCallback(function () {
|
|
1122
1063
|
return setLogoutAction({
|