dauth-context-react 0.2.104 → 0.2.105
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/dauth-context-react.cjs.development.js +16 -19
- 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 +16 -19
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/initialDauthState.d.ts +5 -7
- package/dist/reducer/dauth.actions.d.ts +2 -4
- package/package.json +1 -1
- package/src/index.tsx +11 -12
- package/src/initialDauthState.ts +6 -8
- package/src/reducer/dauth.actions.ts +3 -7
|
@@ -688,11 +688,11 @@ function setAutoLoginAction(_x2) {
|
|
|
688
688
|
}
|
|
689
689
|
function _setAutoLoginAction() {
|
|
690
690
|
_setAutoLoginAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
691
|
-
var dispatch, dauth_state_ls, domainName,
|
|
691
|
+
var dispatch, dauth_state_ls, domainName, refreshAccessTokenFetch, getUserFetch;
|
|
692
692
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
693
693
|
while (1) switch (_context2.prev = _context2.next) {
|
|
694
694
|
case 0:
|
|
695
|
-
dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName
|
|
695
|
+
dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName;
|
|
696
696
|
dispatch({
|
|
697
697
|
type: SET_IS_LOADING,
|
|
698
698
|
payload: {
|
|
@@ -729,7 +729,7 @@ function _setAutoLoginAction() {
|
|
|
729
729
|
case 16:
|
|
730
730
|
window.location.replace(getClientBasePath({
|
|
731
731
|
domainName: domainName
|
|
732
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
732
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
733
733
|
return _context2.abrupt("return", resetUser(dispatch));
|
|
734
734
|
case 18:
|
|
735
735
|
_context2.next = 22;
|
|
@@ -737,7 +737,7 @@ function _setAutoLoginAction() {
|
|
|
737
737
|
case 20:
|
|
738
738
|
window.location.replace(getClientBasePath({
|
|
739
739
|
domainName: domainName
|
|
740
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
740
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
741
741
|
return _context2.abrupt("return", resetUser(dispatch));
|
|
742
742
|
case 22:
|
|
743
743
|
_context2.next = 28;
|
|
@@ -932,11 +932,11 @@ function checkTokenAction(_x5) {
|
|
|
932
932
|
}
|
|
933
933
|
function _checkTokenAction() {
|
|
934
934
|
_checkTokenAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref6) {
|
|
935
|
-
var dispatch, domainName,
|
|
935
|
+
var dispatch, domainName, token, refreshAccessTokenFetch;
|
|
936
936
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
937
937
|
while (1) switch (_context5.prev = _context5.next) {
|
|
938
938
|
case 0:
|
|
939
|
-
dispatch = _ref6.dispatch, domainName = _ref6.domainName,
|
|
939
|
+
dispatch = _ref6.dispatch, domainName = _ref6.domainName, token = _ref6.token;
|
|
940
940
|
_context5.prev = 1;
|
|
941
941
|
_context5.next = 4;
|
|
942
942
|
return refreshAccessTokenAPI(domainName, token);
|
|
@@ -950,7 +950,7 @@ function _checkTokenAction() {
|
|
|
950
950
|
case 9:
|
|
951
951
|
window.location.replace(getClientBasePath({
|
|
952
952
|
domainName: domainName
|
|
953
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
953
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
954
954
|
return _context5.abrupt("return", resetUser(dispatch));
|
|
955
955
|
case 11:
|
|
956
956
|
_context5.next = 17;
|
|
@@ -1030,7 +1030,6 @@ var resetUser = function resetUser(dispatch) {
|
|
|
1030
1030
|
|
|
1031
1031
|
var DauthProvider = function DauthProvider(props) {
|
|
1032
1032
|
var domainName = props.domainName,
|
|
1033
|
-
sid = props.sid,
|
|
1034
1033
|
children = props.children;
|
|
1035
1034
|
var _useReducer = React.useReducer(userReducer, initialDauthState),
|
|
1036
1035
|
dauthState = _useReducer[0],
|
|
@@ -1044,7 +1043,6 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1044
1043
|
checkTokenAction({
|
|
1045
1044
|
dispatch: dispatch,
|
|
1046
1045
|
domainName: domainName,
|
|
1047
|
-
sid: sid,
|
|
1048
1046
|
token: token_ls
|
|
1049
1047
|
});
|
|
1050
1048
|
}, 1000 * 60 * 2);
|
|
@@ -1073,16 +1071,15 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1073
1071
|
setAutoLoginAction({
|
|
1074
1072
|
dispatch: dispatch,
|
|
1075
1073
|
dauth_state_ls: dauth_state_ls,
|
|
1076
|
-
domainName: domainName
|
|
1077
|
-
sid: sid
|
|
1074
|
+
domainName: domainName
|
|
1078
1075
|
});
|
|
1079
1076
|
}
|
|
1080
1077
|
}, []);
|
|
1081
1078
|
var loginWithRedirect = React.useCallback(function () {
|
|
1082
1079
|
return window.location.replace(getClientBasePath({
|
|
1083
1080
|
domainName: domainName
|
|
1084
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
1085
|
-
}, [domainName,
|
|
1081
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
1082
|
+
}, [domainName, domainName]);
|
|
1086
1083
|
var logout = React.useCallback(function () {
|
|
1087
1084
|
return setLogoutAction({
|
|
1088
1085
|
dispatch: dispatch
|
|
@@ -1109,18 +1106,18 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1109
1106
|
})), []);
|
|
1110
1107
|
var updateUser = React.useCallback( /*#__PURE__*/function () {
|
|
1111
1108
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
1112
|
-
var name, lastname, nickname,
|
|
1109
|
+
var name, lastname, nickname, telPrefix, telSuffix, language, avatar, token_ls, user;
|
|
1113
1110
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1114
1111
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1115
1112
|
case 0:
|
|
1116
|
-
name = _ref2.name, lastname = _ref2.lastname, nickname = _ref2.nickname,
|
|
1113
|
+
name = _ref2.name, lastname = _ref2.lastname, nickname = _ref2.nickname, telPrefix = _ref2.telPrefix, telSuffix = _ref2.telSuffix, language = _ref2.language, avatar = _ref2.avatar;
|
|
1117
1114
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1118
1115
|
user = {
|
|
1119
1116
|
name: name,
|
|
1120
1117
|
lastname: lastname,
|
|
1121
1118
|
nickname: nickname,
|
|
1122
|
-
|
|
1123
|
-
|
|
1119
|
+
telPrefix: telPrefix,
|
|
1120
|
+
telSuffix: telSuffix,
|
|
1124
1121
|
language: language,
|
|
1125
1122
|
avatar: avatar
|
|
1126
1123
|
};
|
|
@@ -1148,8 +1145,8 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1148
1145
|
if (!token_ls) return;
|
|
1149
1146
|
return window.location.replace(getClientBasePath({
|
|
1150
1147
|
domainName: domainName
|
|
1151
|
-
}) + "/" + routes.tenantUpdateUser + "/" +
|
|
1152
|
-
}, [domainName,
|
|
1148
|
+
}) + "/" + routes.tenantUpdateUser + "/" + domainName + "/" + token_ls);
|
|
1149
|
+
}, [domainName, domainName]);
|
|
1153
1150
|
var sendEmailVerification = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
1154
1151
|
var token_ls;
|
|
1155
1152
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n sid,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n }, [domainName, domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","useCallback","name","lastname","nickname","telPrefix","telSuffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,a=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(t){p=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var a=Object.create((e&&e.prototype instanceof y?e:y).prototype),i=new T(n||[]);return o(a,"_invoke",{value:N(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var d="suspendedStart",h="executing",m="completed",v={};function y(){}function g(){}function w(){}var E={};p(E,u,(function(){return this}));var _=Object.getPrototypeOf,b=_&&_(_(O([])));b&&b!==r&&a.call(b,u)&&(E=b);var I=w.prototype=y.prototype=Object.create(E);function x(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,o,i,u){var s=f(t[n],t,o);if("throw"!==s.type){var c=s.arg,p=c.value;return p&&"object"==typeof p&&a.call(p,"__await")?e.resolve(p.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(p).then((function(t){c.value=t,i(c)}),(function(t){return r("throw",t,i,u)}))}u(s.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function N(e,r,n){var a=d;return function(o,i){if(a===h)throw new Error("Generator is already running");if(a===m){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var u=n.delegate;if(u){var s=L(u,n);if(s){if(s===v)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=h;var c=f(e,r,n);if("normal"===c.type){if(a=n.done?m:"suspendedYield",c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(a=m,n.method="throw",n.arg=c.arg)}}}function L(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,L(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=f(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function O(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(a.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,o(I,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=p(w,c,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,p(t,c,"GeneratorFunction")),t.prototype=Object.create(I),t},e.awrap=function(t){return{__await:t}},x(S.prototype),p(S.prototype,s,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new S(l(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},x(I),p(I,c,"Generator"),p(I,u,(function(){return this})),p(I,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=O,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(k),!e)for(var r in this)"t"===r.charAt(0)&&a.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,a){return u.type="throw",u.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=a.call(i,"catchLoc"),c=a.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;k(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:O(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function a(t,e,r,n,a,o,i){try{var u=t[o](i),s=u.value}catch(t){return void r(t)}u.done?e(s):Promise.resolve(s).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,s,"next",t)}function s(t){a(i,n,o,u,s,"throw",t)}u(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var u={user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)}};function s(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});case"UPDATE_USER":return i({},t,{user:i({},t.user,r)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return i({},t,{sendEmailVerificationStatus:i({},t.sendEmailVerificationStatus,{status:{type:r.type,message:r.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return i({},t,{sendEmailVerificationStatus:i({},t.sendEmailVerificationStatus,{isLoading:r})});default:return t}}var c=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function p(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return c?e:"https://"+t.domainName+".dauth.ovh/api/v1"}function l(t){var e=window.location.protocol+"//"+window.location.hostname+":5185";return c?e:"https://"+t.domainName+".dauth.ovh"}var f=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:r,"Content-Type":"application/json"}},t.next=3,fetch(p({domainName:e})+"/t-get-user/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),d=function(){var t=o(n().mark((function t(e,r,a){var o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"PATCH",headers:{Authorization:a,"Content-Type":"application/json"},body:JSON.stringify(r)},t.next=3,fetch(p({domainName:e})+"/t-update-user/"+e,o);case 3:return i=t.sent,t.next=6,i.json();case 6:return t.abrupt("return",{response:i,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),h=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:r,"Content-Type":"application/json"}},t.next=3,fetch(p({domainName:e})+"/t-resend-email-verification/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),m=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:r,"Content-Type":"application/json"}},t.next=3,fetch(p({domainName:e})+"/t-refresh-access-token/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),v="dauth_state";function y(){return(y=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.token,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,f(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(v,a));case 12:return t.abrupt("return",N(r));case 13:t.next=19;break;case 15:return t.prev=15,t.t0=t.catch(2),console.log(t.t0),t.abrupt("return",N(r));case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function g(){return(g=o(n().mark((function t(e){var r,a,o,i,u,s;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state_ls,o=e.domainName,i=e.sid,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,m(o,a);case 5:if(200!==(u=t.sent).response.status){t.next=20;break}return t.next=9,f(o,a);case 9:if(200!==(s=t.sent).response.status){t.next=16;break}return r({type:"LOGIN",payload:{user:s.data.user,domain:s.data.domain,isAuthenticated:!0}}),localStorage.setItem(v,u.data.accessToken),t.abrupt("return");case 16:return window.location.replace(l({domainName:o})+"/t-signin/"+i),t.abrupt("return",N(r));case 18:t.next=22;break;case 20:return window.location.replace(l({domainName:o})+"/t-signin/"+i),t.abrupt("return",N(r));case 22:t.next=28;break;case 24:return t.prev=24,t.t0=t.catch(2),console.log(t.t0),t.abrupt("return",N(r));case 28:return t.prev=28,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(28);case 31:case"end":return t.stop()}}),t,null,[[2,24,28,31]])})))).apply(this,arguments)}function w(t){return E.apply(this,arguments)}function E(){return(E=o(n().mark((function t(e){var r,a,o,i,u;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,i=e.token,(o=e.user).language&&window.document.documentElement.setAttribute("lang",o.language),i){t.next=5;break}return r({type:"UPDATE_USER",payload:o}),t.abrupt("return",!1);case 5:return t.prev=5,t.next=8,d(a,o,i);case 8:if(200!==(u=t.sent).response.status){t.next=14;break}return r({type:"UPDATE_USER",payload:u.data.user}),t.abrupt("return",!0);case 14:return console.log("Update user error",u.data.message),t.abrupt("return",!1);case 16:t.next=22;break;case 18:return t.prev=18,t.t0=t.catch(5),console.log("Update user error",t.t0),t.abrupt("return",!1);case 22:case"end":return t.stop()}}),t,null,[[5,18]])})))).apply(this,arguments)}function _(t){return b.apply(this,arguments)}function b(){return(b=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.domainName,o=e.token,(r=e.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),t.prev=3,t.next=6,h(a,o);case 6:if(200!==(i=t.sent).response.status){t.next=13;break}return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:i.data.message}}),r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),t.abrupt("return",!0);case 13:return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:i.data.message}}),r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),t.abrupt("return",!1);case 16:t.next=23;break;case 18:return t.prev=18,t.t0=t.catch(3),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),t.abrupt("return",!1);case 23:case"end":return t.stop()}}),t,null,[[3,18]])})))).apply(this,arguments)}function I(){return(I=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.dispatch,a=e.domainName,o=e.sid,i=e.token,t.prev=1,t.next=4,m(a,i);case 4:if(200!==t.sent.response.status){t.next=9;break}return t.abrupt("return");case 9:return window.location.replace(l({domainName:a})+"/t-signin/"+o),t.abrupt("return",N(r));case 11:t.next=17;break;case 13:throw t.prev=13,t.t0=t.catch(1),N(r),t.t0;case 17:case"end":return t.stop()}}),t,null,[[1,13]])})))).apply(this,arguments)}function x(t){return S.apply(this,arguments)}function S(){return(S=o(n().mark((function t(e){var r,a,o,i,u;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,o=localStorage.getItem(v)){t.next=4;break}return t.abrupt("return");case 4:return t.prev=4,t.next=7,m(a,o);case 7:if(200!==(i=t.sent).response.status){t.next=12;break}return t.abrupt("return",null!=(u=i.data.accessToken)?u:o);case 12:return N(r),t.abrupt("return","token-not-found");case 14:t.next=20;break;case 16:throw t.prev=16,t.t0=t.catch(4),N(r),t.t0;case 20:case"end":return t.stop()}}),t,null,[[4,16]])})))).apply(this,arguments)}var N=function(t){return localStorage.removeItem(v),t({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}})},L=e.createContext(u);exports.DauthProvider=function(t){var a=t.domainName,c=t.sid,p=t.children,f=e.useReducer(s,u),d=f[0],h=f[1];e.useEffect((function(){if(d.isAuthenticated){var t=setInterval((function(){var t=localStorage.getItem(v);t&&function(t){I.apply(this,arguments)}({dispatch:h,domainName:a,sid:c,token:t})}),12e4);return function(){return clearInterval(t)}}}),[]),e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(v);e&&!d.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:h,token:e,domainName:a})}}),[]),e.useEffect((function(){var t=localStorage.getItem(v);t&&!d.isAuthenticated&&function(t){g.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:a,sid:c})}),[]);var m=e.useCallback((function(){return window.location.replace(l({domainName:a})+"/t-signin/"+c)}),[a,c]),E=e.useCallback((function(){return function(t){var e=t.dispatch;return e({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e({type:"LOGIN",payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(v),e({type:"SET_IS_LOADING",payload:{isLoading:!1}})}({dispatch:h})}),[]),b=e.useCallback(o(n().mark((function t(){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,x({dispatch:h,domainName:a});case 2:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)}))),[]),S=e.useCallback(function(){var t=o(n().mark((function t(e){var r,o,i,u,s,c,p,l,f;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.name,o=e.lastname,i=e.nickname,u=e.tel_prefix,s=e.tel_suffix,c=e.language,p=e.avatar,l=localStorage.getItem(v),f={name:r,lastname:o,nickname:i,tel_prefix:u,tel_suffix:s,language:c,avatar:p},t.next=5,w({dispatch:h,domainName:a,user:f,token:l});case 5:return t.abrupt("return",t.sent);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[a]),N=e.useCallback((function(){var t=localStorage.getItem(v);if(t)return window.location.replace(l({domainName:a})+"/t-update-user/"+c+"/"+t)}),[a,c]),A=e.useCallback(o(n().mark((function t(){var e;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=localStorage.getItem(v)){t.next=3;break}return t.abrupt("return",!1);case 3:return t.next=5,_({dispatch:h,domainName:a,token:e});case 5:return t.abrupt("return",t.sent);case 6:case"end":return t.stop()}}),t)}))),[a]),k=e.useMemo((function(){return i({},d,{loginWithRedirect:m,logout:E,getAccessToken:b,updateUser:S,updateUserWithRedirect:N,sendEmailVerification:A})}),[d,m,E,b,S,N,A]);return r.createElement(L.Provider,{value:k},p)},exports.useDauth=function(){var t=e.useContext(L);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,a=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(t){p=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var a=Object.create((e&&e.prototype instanceof y?e:y).prototype),i=new T(n||[]);return o(a,"_invoke",{value:N(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var d="suspendedStart",h="executing",m="completed",v={};function y(){}function g(){}function w(){}var E={};p(E,u,(function(){return this}));var b=Object.getPrototypeOf,I=b&&b(b(O([])));I&&I!==r&&a.call(I,u)&&(E=I);var _=w.prototype=y.prototype=Object.create(E);function x(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,o,i,u){var c=f(t[n],t,o);if("throw"!==c.type){var s=c.arg,p=s.value;return p&&"object"==typeof p&&a.call(p,"__await")?e.resolve(p.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(p).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,u)}))}u(c.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function N(e,r,n){var a=d;return function(o,i){if(a===h)throw new Error("Generator is already running");if(a===m){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var u=n.delegate;if(u){var c=L(u,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=h;var s=f(e,r,n);if("normal"===s.type){if(a=n.done?m:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=m,n.method="throw",n.arg=s.arg)}}}function L(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,L(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=f(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function A(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function O(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(a.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,o(_,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=p(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,p(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},e.awrap=function(t){return{__await:t}},x(S.prototype),p(S.prototype,c,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new S(l(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},x(_),p(_,s,"Generator"),p(_,u,(function(){return this})),p(_,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=O,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(k),!e)for(var r in this)"t"===r.charAt(0)&&a.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,a){return u.type="throw",u.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;k(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:O(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function a(t,e,r,n,a,o,i){try{var u=t[o](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,c,"next",t)}function c(t){a(i,n,o,u,c,"throw",t)}u(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var u={user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)}};function c(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});case"UPDATE_USER":return i({},t,{user:i({},t.user,r)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return i({},t,{sendEmailVerificationStatus:i({},t.sendEmailVerificationStatus,{status:{type:r.type,message:r.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return i({},t,{sendEmailVerificationStatus:i({},t.sendEmailVerificationStatus,{isLoading:r})});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function p(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}function l(t){var e=window.location.protocol+"//"+window.location.hostname+":5185";return s?e:"https://"+t.domainName+".dauth.ovh"}var f=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:r,"Content-Type":"application/json"}},t.next=3,fetch(p({domainName:e})+"/t-get-user/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),d=function(){var t=o(n().mark((function t(e,r,a){var o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"PATCH",headers:{Authorization:a,"Content-Type":"application/json"},body:JSON.stringify(r)},t.next=3,fetch(p({domainName:e})+"/t-update-user/"+e,o);case 3:return i=t.sent,t.next=6,i.json();case 6:return t.abrupt("return",{response:i,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),h=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:r,"Content-Type":"application/json"}},t.next=3,fetch(p({domainName:e})+"/t-resend-email-verification/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),m=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:r,"Content-Type":"application/json"}},t.next=3,fetch(p({domainName:e})+"/t-refresh-access-token/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),v="dauth_state";function y(){return(y=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.token,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,f(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(v,a));case 12:return t.abrupt("return",N(r));case 13:t.next=19;break;case 15:return t.prev=15,t.t0=t.catch(2),console.log(t.t0),t.abrupt("return",N(r));case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function g(){return(g=o(n().mark((function t(e){var r,a,o,i,u;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state_ls,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,m(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=20;break}return t.next=9,f(o,a);case 9:if(200!==(u=t.sent).response.status){t.next=16;break}return r({type:"LOGIN",payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),localStorage.setItem(v,i.data.accessToken),t.abrupt("return");case 16:return window.location.replace(l({domainName:o})+"/t-signin/"+o),t.abrupt("return",N(r));case 18:t.next=22;break;case 20:return window.location.replace(l({domainName:o})+"/t-signin/"+o),t.abrupt("return",N(r));case 22:t.next=28;break;case 24:return t.prev=24,t.t0=t.catch(2),console.log(t.t0),t.abrupt("return",N(r));case 28:return t.prev=28,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(28);case 31:case"end":return t.stop()}}),t,null,[[2,24,28,31]])})))).apply(this,arguments)}function w(t){return E.apply(this,arguments)}function E(){return(E=o(n().mark((function t(e){var r,a,o,i,u;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,i=e.token,(o=e.user).language&&window.document.documentElement.setAttribute("lang",o.language),i){t.next=5;break}return r({type:"UPDATE_USER",payload:o}),t.abrupt("return",!1);case 5:return t.prev=5,t.next=8,d(a,o,i);case 8:if(200!==(u=t.sent).response.status){t.next=14;break}return r({type:"UPDATE_USER",payload:u.data.user}),t.abrupt("return",!0);case 14:return console.log("Update user error",u.data.message),t.abrupt("return",!1);case 16:t.next=22;break;case 18:return t.prev=18,t.t0=t.catch(5),console.log("Update user error",t.t0),t.abrupt("return",!1);case 22:case"end":return t.stop()}}),t,null,[[5,18]])})))).apply(this,arguments)}function b(t){return I.apply(this,arguments)}function I(){return(I=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.domainName,o=e.token,(r=e.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),t.prev=3,t.next=6,h(a,o);case 6:if(200!==(i=t.sent).response.status){t.next=13;break}return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:i.data.message}}),r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),t.abrupt("return",!0);case 13:return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:i.data.message}}),r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),t.abrupt("return",!1);case 16:t.next=23;break;case 18:return t.prev=18,t.t0=t.catch(3),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),t.abrupt("return",!1);case 23:case"end":return t.stop()}}),t,null,[[3,18]])})))).apply(this,arguments)}function _(){return(_=o(n().mark((function t(e){var r,a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.dispatch,a=e.domainName,o=e.token,t.prev=1,t.next=4,m(a,o);case 4:if(200!==t.sent.response.status){t.next=9;break}return t.abrupt("return");case 9:return window.location.replace(l({domainName:a})+"/t-signin/"+a),t.abrupt("return",N(r));case 11:t.next=17;break;case 13:throw t.prev=13,t.t0=t.catch(1),N(r),t.t0;case 17:case"end":return t.stop()}}),t,null,[[1,13]])})))).apply(this,arguments)}function x(t){return S.apply(this,arguments)}function S(){return(S=o(n().mark((function t(e){var r,a,o,i,u;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,o=localStorage.getItem(v)){t.next=4;break}return t.abrupt("return");case 4:return t.prev=4,t.next=7,m(a,o);case 7:if(200!==(i=t.sent).response.status){t.next=12;break}return t.abrupt("return",null!=(u=i.data.accessToken)?u:o);case 12:return N(r),t.abrupt("return","token-not-found");case 14:t.next=20;break;case 16:throw t.prev=16,t.t0=t.catch(4),N(r),t.t0;case 20:case"end":return t.stop()}}),t,null,[[4,16]])})))).apply(this,arguments)}var N=function(t){return localStorage.removeItem(v),t({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}})},L=e.createContext(u);exports.DauthProvider=function(t){var a=t.domainName,s=t.children,p=e.useReducer(c,u),f=p[0],d=p[1];e.useEffect((function(){if(f.isAuthenticated){var t=setInterval((function(){var t=localStorage.getItem(v);t&&function(t){_.apply(this,arguments)}({dispatch:d,domainName:a,token:t})}),12e4);return function(){return clearInterval(t)}}}),[]),e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(v);e&&!f.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:d,token:e,domainName:a})}}),[]),e.useEffect((function(){var t=localStorage.getItem(v);t&&!f.isAuthenticated&&function(t){g.apply(this,arguments)}({dispatch:d,dauth_state_ls:t,domainName:a})}),[]);var h=e.useCallback((function(){return window.location.replace(l({domainName:a})+"/t-signin/"+a)}),[a,a]),m=e.useCallback((function(){return function(t){var e=t.dispatch;return e({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e({type:"LOGIN",payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(v),e({type:"SET_IS_LOADING",payload:{isLoading:!1}})}({dispatch:d})}),[]),E=e.useCallback(o(n().mark((function t(){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,x({dispatch:d,domainName:a});case 2:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)}))),[]),I=e.useCallback(function(){var t=o(n().mark((function t(e){var r,o,i,u,c,s,p,l,f;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.name,o=e.lastname,i=e.nickname,u=e.telPrefix,c=e.telSuffix,s=e.language,p=e.avatar,l=localStorage.getItem(v),f={name:r,lastname:o,nickname:i,telPrefix:u,telSuffix:c,language:s,avatar:p},t.next=5,w({dispatch:d,domainName:a,user:f,token:l});case 5:return t.abrupt("return",t.sent);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[a]),S=e.useCallback((function(){var t=localStorage.getItem(v);if(t)return window.location.replace(l({domainName:a})+"/t-update-user/"+a+"/"+t)}),[a,a]),N=e.useCallback(o(n().mark((function t(){var e;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e=localStorage.getItem(v)){t.next=3;break}return t.abrupt("return",!1);case 3:return t.next=5,b({dispatch:d,domainName:a,token:e});case 5:return t.abrupt("return",t.sent);case 6:case"end":return t.stop()}}),t)}))),[a]),A=e.useMemo((function(){return i({},f,{loginWithRedirect:h,logout:m,getAccessToken:E,updateUser:I,updateUserWithRedirect:S,sendEmailVerification:N})}),[f,h,m,E,I,S,N]);return r.createElement(L.Provider,{value:A},s)},exports.useDauth=function(){var t=e.useContext(L);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
2
2
|
//# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n sid,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","userReducer","state","action","payload","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","TOKEN_LS","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","_checkTokenAction","_callee5","_ref6","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_context6","getItem","removeItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","token_url","URLSearchParams","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n }, [domainName, domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","userReducer","state","action","payload","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","TOKEN_LS","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","_checkTokenAction","_callee5","_ref6","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_context6","getItem","removeItem","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","token_url","URLSearchParams","get","useCallback","name","lastname","nickname","telPrefix","telSuffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
@@ -681,11 +681,11 @@ function setAutoLoginAction(_x2) {
|
|
|
681
681
|
}
|
|
682
682
|
function _setAutoLoginAction() {
|
|
683
683
|
_setAutoLoginAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
684
|
-
var dispatch, dauth_state_ls, domainName,
|
|
684
|
+
var dispatch, dauth_state_ls, domainName, refreshAccessTokenFetch, getUserFetch;
|
|
685
685
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
686
686
|
while (1) switch (_context2.prev = _context2.next) {
|
|
687
687
|
case 0:
|
|
688
|
-
dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName
|
|
688
|
+
dispatch = _ref2.dispatch, dauth_state_ls = _ref2.dauth_state_ls, domainName = _ref2.domainName;
|
|
689
689
|
dispatch({
|
|
690
690
|
type: SET_IS_LOADING,
|
|
691
691
|
payload: {
|
|
@@ -722,7 +722,7 @@ function _setAutoLoginAction() {
|
|
|
722
722
|
case 16:
|
|
723
723
|
window.location.replace(getClientBasePath({
|
|
724
724
|
domainName: domainName
|
|
725
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
725
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
726
726
|
return _context2.abrupt("return", resetUser(dispatch));
|
|
727
727
|
case 18:
|
|
728
728
|
_context2.next = 22;
|
|
@@ -730,7 +730,7 @@ function _setAutoLoginAction() {
|
|
|
730
730
|
case 20:
|
|
731
731
|
window.location.replace(getClientBasePath({
|
|
732
732
|
domainName: domainName
|
|
733
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
733
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
734
734
|
return _context2.abrupt("return", resetUser(dispatch));
|
|
735
735
|
case 22:
|
|
736
736
|
_context2.next = 28;
|
|
@@ -925,11 +925,11 @@ function checkTokenAction(_x5) {
|
|
|
925
925
|
}
|
|
926
926
|
function _checkTokenAction() {
|
|
927
927
|
_checkTokenAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref6) {
|
|
928
|
-
var dispatch, domainName,
|
|
928
|
+
var dispatch, domainName, token, refreshAccessTokenFetch;
|
|
929
929
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
930
930
|
while (1) switch (_context5.prev = _context5.next) {
|
|
931
931
|
case 0:
|
|
932
|
-
dispatch = _ref6.dispatch, domainName = _ref6.domainName,
|
|
932
|
+
dispatch = _ref6.dispatch, domainName = _ref6.domainName, token = _ref6.token;
|
|
933
933
|
_context5.prev = 1;
|
|
934
934
|
_context5.next = 4;
|
|
935
935
|
return refreshAccessTokenAPI(domainName, token);
|
|
@@ -943,7 +943,7 @@ function _checkTokenAction() {
|
|
|
943
943
|
case 9:
|
|
944
944
|
window.location.replace(getClientBasePath({
|
|
945
945
|
domainName: domainName
|
|
946
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
946
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
947
947
|
return _context5.abrupt("return", resetUser(dispatch));
|
|
948
948
|
case 11:
|
|
949
949
|
_context5.next = 17;
|
|
@@ -1023,7 +1023,6 @@ var resetUser = function resetUser(dispatch) {
|
|
|
1023
1023
|
|
|
1024
1024
|
var DauthProvider = function DauthProvider(props) {
|
|
1025
1025
|
var domainName = props.domainName,
|
|
1026
|
-
sid = props.sid,
|
|
1027
1026
|
children = props.children;
|
|
1028
1027
|
var _useReducer = useReducer(userReducer, initialDauthState),
|
|
1029
1028
|
dauthState = _useReducer[0],
|
|
@@ -1037,7 +1036,6 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1037
1036
|
checkTokenAction({
|
|
1038
1037
|
dispatch: dispatch,
|
|
1039
1038
|
domainName: domainName,
|
|
1040
|
-
sid: sid,
|
|
1041
1039
|
token: token_ls
|
|
1042
1040
|
});
|
|
1043
1041
|
}, 1000 * 60 * 2);
|
|
@@ -1066,16 +1064,15 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1066
1064
|
setAutoLoginAction({
|
|
1067
1065
|
dispatch: dispatch,
|
|
1068
1066
|
dauth_state_ls: dauth_state_ls,
|
|
1069
|
-
domainName: domainName
|
|
1070
|
-
sid: sid
|
|
1067
|
+
domainName: domainName
|
|
1071
1068
|
});
|
|
1072
1069
|
}
|
|
1073
1070
|
}, []);
|
|
1074
1071
|
var loginWithRedirect = useCallback(function () {
|
|
1075
1072
|
return window.location.replace(getClientBasePath({
|
|
1076
1073
|
domainName: domainName
|
|
1077
|
-
}) + "/" + routes.tenantSignin + "/" +
|
|
1078
|
-
}, [domainName,
|
|
1074
|
+
}) + "/" + routes.tenantSignin + "/" + domainName);
|
|
1075
|
+
}, [domainName, domainName]);
|
|
1079
1076
|
var logout = useCallback(function () {
|
|
1080
1077
|
return setLogoutAction({
|
|
1081
1078
|
dispatch: dispatch
|
|
@@ -1102,18 +1099,18 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1102
1099
|
})), []);
|
|
1103
1100
|
var updateUser = useCallback( /*#__PURE__*/function () {
|
|
1104
1101
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
1105
|
-
var name, lastname, nickname,
|
|
1102
|
+
var name, lastname, nickname, telPrefix, telSuffix, language, avatar, token_ls, user;
|
|
1106
1103
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1107
1104
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1108
1105
|
case 0:
|
|
1109
|
-
name = _ref2.name, lastname = _ref2.lastname, nickname = _ref2.nickname,
|
|
1106
|
+
name = _ref2.name, lastname = _ref2.lastname, nickname = _ref2.nickname, telPrefix = _ref2.telPrefix, telSuffix = _ref2.telSuffix, language = _ref2.language, avatar = _ref2.avatar;
|
|
1110
1107
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1111
1108
|
user = {
|
|
1112
1109
|
name: name,
|
|
1113
1110
|
lastname: lastname,
|
|
1114
1111
|
nickname: nickname,
|
|
1115
|
-
|
|
1116
|
-
|
|
1112
|
+
telPrefix: telPrefix,
|
|
1113
|
+
telSuffix: telSuffix,
|
|
1117
1114
|
language: language,
|
|
1118
1115
|
avatar: avatar
|
|
1119
1116
|
};
|
|
@@ -1141,8 +1138,8 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1141
1138
|
if (!token_ls) return;
|
|
1142
1139
|
return window.location.replace(getClientBasePath({
|
|
1143
1140
|
domainName: domainName
|
|
1144
|
-
}) + "/" + routes.tenantUpdateUser + "/" +
|
|
1145
|
-
}, [domainName,
|
|
1141
|
+
}) + "/" + routes.tenantUpdateUser + "/" + domainName + "/" + token_ls);
|
|
1142
|
+
}, [domainName, domainName]);
|
|
1146
1143
|
var sendEmailVerification = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
1147
1144
|
var token_ls;
|
|
1148
1145
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n sid,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n }, [domainName, domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","useCallback","name","lastname","nickname","telPrefix","telSuffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
export interface IDauthUser {
|
|
2
2
|
_id: string;
|
|
3
|
-
dauthLicense?: string;
|
|
4
|
-
sid: string;
|
|
5
3
|
name: string;
|
|
6
4
|
lastname: string;
|
|
7
5
|
nickname: string;
|
|
8
6
|
email: string;
|
|
9
|
-
|
|
7
|
+
isVerified: boolean;
|
|
10
8
|
language: string;
|
|
11
9
|
avatar: {
|
|
12
10
|
id: string;
|
|
13
11
|
url: string;
|
|
14
12
|
};
|
|
15
13
|
role: string;
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
telPrefix: string;
|
|
15
|
+
telSuffix: string;
|
|
18
16
|
createdAt: Date;
|
|
19
17
|
updatedAt: Date;
|
|
20
|
-
|
|
18
|
+
lastLogin: Date;
|
|
21
19
|
}
|
|
22
20
|
export interface IDauthDomainState {
|
|
23
21
|
name: string;
|
|
@@ -32,7 +30,7 @@ export interface IDauthState {
|
|
|
32
30
|
loginWithRedirect: () => void;
|
|
33
31
|
logout: () => void;
|
|
34
32
|
getAccessToken: () => Promise<string>;
|
|
35
|
-
updateUser: ({ name, lastname, nickname,
|
|
33
|
+
updateUser: ({ name, lastname, nickname, telPrefix, telSuffix, language, avatar, }: Partial<IDauthUser>) => Promise<boolean>;
|
|
36
34
|
updateUserWithRedirect: () => void;
|
|
37
35
|
sendEmailVerificationStatus: {
|
|
38
36
|
status: IActionStatus;
|
|
@@ -10,9 +10,8 @@ declare type TSetAutoLoginAction = {
|
|
|
10
10
|
dispatch: React.Dispatch<any>;
|
|
11
11
|
dauth_state_ls: string;
|
|
12
12
|
domainName: string;
|
|
13
|
-
sid: string;
|
|
14
13
|
};
|
|
15
|
-
export declare function setAutoLoginAction({ dispatch, dauth_state_ls, domainName,
|
|
14
|
+
export declare function setAutoLoginAction({ dispatch, dauth_state_ls, domainName, }: TSetAutoLoginAction): Promise<void>;
|
|
16
15
|
export declare function setLogoutAction({ dispatch, }: {
|
|
17
16
|
dispatch: React.Dispatch<any>;
|
|
18
17
|
}): void;
|
|
@@ -29,10 +28,9 @@ declare type TSetSendEmailVerificationAction = {
|
|
|
29
28
|
token: string;
|
|
30
29
|
};
|
|
31
30
|
export declare function sendEmailVerificationAction({ dispatch, domainName, token, }: TSetSendEmailVerificationAction): Promise<boolean>;
|
|
32
|
-
export declare function checkTokenAction({ dispatch, domainName,
|
|
31
|
+
export declare function checkTokenAction({ dispatch, domainName, token, }: {
|
|
33
32
|
dispatch: React.Dispatch<any>;
|
|
34
33
|
domainName: string;
|
|
35
|
-
sid: string;
|
|
36
34
|
token: string;
|
|
37
35
|
}): Promise<void>;
|
|
38
36
|
export declare function getAccessTokenAction({ dispatch, domainName, }: {
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -15,14 +15,13 @@ import { routes } from './routes';
|
|
|
15
15
|
|
|
16
16
|
interface DauthProviderProps {
|
|
17
17
|
domainName: string;
|
|
18
|
-
sid: string;
|
|
19
18
|
children: React.ReactNode;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
21
|
export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
23
22
|
props: DauthProviderProps
|
|
24
23
|
) => {
|
|
25
|
-
const { domainName,
|
|
24
|
+
const { domainName, children } = props;
|
|
26
25
|
const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);
|
|
27
26
|
|
|
28
27
|
// Check token periodically
|
|
@@ -31,7 +30,7 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
31
30
|
let interval = setInterval(() => {
|
|
32
31
|
const token_ls = localStorage.getItem(TOKEN_LS);
|
|
33
32
|
if (!token_ls) return;
|
|
34
|
-
action.checkTokenAction({ dispatch, domainName,
|
|
33
|
+
action.checkTokenAction({ dispatch, domainName, token: token_ls });
|
|
35
34
|
}, 1000 * 60 * 2);
|
|
36
35
|
return () => clearInterval(interval);
|
|
37
36
|
}, []);
|
|
@@ -51,15 +50,15 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
51
50
|
useEffect(() => {
|
|
52
51
|
const dauth_state_ls = localStorage.getItem(TOKEN_LS);
|
|
53
52
|
if (dauth_state_ls && !dauthState.isAuthenticated) {
|
|
54
|
-
action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName
|
|
53
|
+
action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });
|
|
55
54
|
}
|
|
56
55
|
}, []);
|
|
57
56
|
|
|
58
57
|
const loginWithRedirect = useCallback(() => {
|
|
59
58
|
return window.location.replace(
|
|
60
|
-
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${
|
|
59
|
+
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`
|
|
61
60
|
);
|
|
62
|
-
}, [domainName,
|
|
61
|
+
}, [domainName, domainName]);
|
|
63
62
|
|
|
64
63
|
const logout = useCallback(() => {
|
|
65
64
|
return action.setLogoutAction({ dispatch });
|
|
@@ -75,8 +74,8 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
75
74
|
name,
|
|
76
75
|
lastname,
|
|
77
76
|
nickname,
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
telPrefix,
|
|
78
|
+
telSuffix,
|
|
80
79
|
language,
|
|
81
80
|
avatar,
|
|
82
81
|
}: Partial<IDauthUser>) => {
|
|
@@ -85,8 +84,8 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
85
84
|
name,
|
|
86
85
|
lastname,
|
|
87
86
|
nickname,
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
telPrefix,
|
|
88
|
+
telSuffix,
|
|
90
89
|
language,
|
|
91
90
|
avatar,
|
|
92
91
|
} as Partial<IDauthUser>;
|
|
@@ -106,9 +105,9 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
106
105
|
return window.location.replace(
|
|
107
106
|
`${getClientBasePath({ domainName })}/${
|
|
108
107
|
routes.tenantUpdateUser
|
|
109
|
-
}/${
|
|
108
|
+
}/${domainName}/${token_ls}`
|
|
110
109
|
);
|
|
111
|
-
}, [domainName,
|
|
110
|
+
}, [domainName, domainName]);
|
|
112
111
|
|
|
113
112
|
const sendEmailVerification = useCallback(async () => {
|
|
114
113
|
const token_ls = localStorage.getItem(TOKEN_LS);
|
package/src/initialDauthState.ts
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
export interface IDauthUser {
|
|
2
2
|
_id: string;
|
|
3
|
-
dauthLicense?: string;
|
|
4
|
-
sid: string;
|
|
5
3
|
name: string;
|
|
6
4
|
lastname: string;
|
|
7
5
|
nickname: string;
|
|
8
6
|
email: string;
|
|
9
|
-
|
|
7
|
+
isVerified: boolean;
|
|
10
8
|
language: string;
|
|
11
9
|
avatar: {
|
|
12
10
|
id: string;
|
|
13
11
|
url: string;
|
|
14
12
|
};
|
|
15
13
|
role: string;
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
telPrefix: string;
|
|
15
|
+
telSuffix: string;
|
|
18
16
|
createdAt: Date;
|
|
19
17
|
updatedAt: Date;
|
|
20
|
-
|
|
18
|
+
lastLogin: Date;
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
export interface IDauthDomainState {
|
|
@@ -38,8 +36,8 @@ export interface IDauthState {
|
|
|
38
36
|
name,
|
|
39
37
|
lastname,
|
|
40
38
|
nickname,
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
telPrefix,
|
|
40
|
+
telSuffix,
|
|
43
41
|
language,
|
|
44
42
|
avatar,
|
|
45
43
|
}: Partial<IDauthUser>) => Promise<boolean>;
|
|
@@ -56,13 +56,11 @@ type TSetAutoLoginAction = {
|
|
|
56
56
|
dispatch: React.Dispatch<any>;
|
|
57
57
|
dauth_state_ls: string;
|
|
58
58
|
domainName: string;
|
|
59
|
-
sid: string;
|
|
60
59
|
};
|
|
61
60
|
export async function setAutoLoginAction({
|
|
62
61
|
dispatch,
|
|
63
62
|
dauth_state_ls,
|
|
64
63
|
domainName,
|
|
65
|
-
sid,
|
|
66
64
|
}: TSetAutoLoginAction) {
|
|
67
65
|
dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });
|
|
68
66
|
try {
|
|
@@ -88,13 +86,13 @@ export async function setAutoLoginAction({
|
|
|
88
86
|
return;
|
|
89
87
|
} else {
|
|
90
88
|
window.location.replace(
|
|
91
|
-
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${
|
|
89
|
+
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`
|
|
92
90
|
);
|
|
93
91
|
return resetUser(dispatch);
|
|
94
92
|
}
|
|
95
93
|
} else {
|
|
96
94
|
window.location.replace(
|
|
97
|
-
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${
|
|
95
|
+
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`
|
|
98
96
|
);
|
|
99
97
|
return resetUser(dispatch);
|
|
100
98
|
}
|
|
@@ -232,12 +230,10 @@ export async function sendEmailVerificationAction({
|
|
|
232
230
|
export async function checkTokenAction({
|
|
233
231
|
dispatch,
|
|
234
232
|
domainName,
|
|
235
|
-
sid,
|
|
236
233
|
token,
|
|
237
234
|
}: {
|
|
238
235
|
dispatch: React.Dispatch<any>;
|
|
239
236
|
domainName: string;
|
|
240
|
-
sid: string;
|
|
241
237
|
token: string;
|
|
242
238
|
}) {
|
|
243
239
|
try {
|
|
@@ -249,7 +245,7 @@ export async function checkTokenAction({
|
|
|
249
245
|
return;
|
|
250
246
|
} else {
|
|
251
247
|
window.location.replace(
|
|
252
|
-
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${
|
|
248
|
+
`${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`
|
|
253
249
|
);
|
|
254
250
|
return resetUser(dispatch);
|
|
255
251
|
}
|