dauth-context-react 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -11
- package/dist/api/dauth.api.d.ts +2 -1
- package/dist/api/interfaces/dauth.api.responses.d.ts +7 -0
- package/dist/dauth-context-react.cjs.development.js +106 -13
- 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 +106 -13
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/interfaces.d.ts +1 -0
- package/dist/reducer/dauth.actions.d.ts +5 -0
- package/package.json +4 -2
- package/src/api/dauth.api.ts +20 -0
- package/src/api/interfaces/dauth.api.responses.ts +8 -0
- package/src/index.tsx +13 -0
- package/src/initialDauthState.ts +1 -0
- package/src/interfaces.ts +1 -0
- package/src/reducer/dauth.actions.ts +24 -2
package/README.md
CHANGED
|
@@ -108,6 +108,9 @@ interface IDauthUser {
|
|
|
108
108
|
role: string;
|
|
109
109
|
telPrefix: string;
|
|
110
110
|
telSuffix: string;
|
|
111
|
+
birthDate?: Date;
|
|
112
|
+
country?: string;
|
|
113
|
+
metadata?: any;
|
|
111
114
|
createdAt: Date;
|
|
112
115
|
updatedAt: Date;
|
|
113
116
|
lastLogin: Date;
|
|
@@ -257,19 +260,19 @@ function LayoutMain() {
|
|
|
257
260
|
## How It Works
|
|
258
261
|
|
|
259
262
|
1. **On mount:** Checks the URL for a redirect token (`?dauth_state=...`), then attempts auto-login from localStorage.
|
|
260
|
-
2. **Token
|
|
261
|
-
3. **Localhost detection:** Automatically routes API calls to `localhost:4012` during development (detects `localhost`, `127.0.0.1`, `[::1]`, and `192.168.x.x`) and to `https
|
|
262
|
-
4. **Token storage:**
|
|
263
|
+
2. **Token refresh:** Proactively refreshes the access token before expiry (5 minutes before). Falls back to periodic refresh every 5 minutes if decode fails.
|
|
264
|
+
3. **Localhost detection:** Automatically routes API calls to `localhost:4012` during development (detects `localhost`, `127.0.0.1`, `[::1]`, and `192.168.x.x`) and to `https://dauth.ovh` in production.
|
|
265
|
+
4. **Token storage:** Access token stored in localStorage under `dauth_state`, refresh token under `dauth_refresh_token`.
|
|
263
266
|
|
|
264
267
|
## Development
|
|
265
268
|
|
|
266
269
|
```bash
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
pnpm start # Watch mode (tsdx watch)
|
|
271
|
+
pnpm build # Production build (CJS + ESM)
|
|
272
|
+
pnpm test # Run Jest tests
|
|
273
|
+
pnpm lint # ESLint via tsdx
|
|
274
|
+
pnpm size # Check bundle size (10KB budget per entry)
|
|
275
|
+
pnpm analyze # Bundle size analysis with visualization
|
|
273
276
|
```
|
|
274
277
|
|
|
275
278
|
### Bundle Outputs
|
|
@@ -278,9 +281,10 @@ npm run analyze # Bundle size analysis with visualization
|
|
|
278
281
|
- **ESM:** `dist/dauth-context-react.esm.js`
|
|
279
282
|
- **Types:** `dist/index.d.ts`
|
|
280
283
|
|
|
281
|
-
### CI
|
|
284
|
+
### CI/CD
|
|
282
285
|
|
|
283
|
-
GitHub Actions runs lint,
|
|
286
|
+
- **CI**: GitHub Actions runs lint, test, and build on push to `main` and PRs. Self-hosted runner, Node 22.
|
|
287
|
+
- **Publish**: Automated npm publish on `v*` tags via GitHub Actions.
|
|
284
288
|
|
|
285
289
|
## Author
|
|
286
290
|
|
package/dist/api/dauth.api.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { IDauthUser } from '../interfaces';
|
|
2
|
-
import { IgetUserAPIResponse, IrefreshAccessTokenAPIResponse, IrefreshTokenAPIResponse, IsendEmailVerificationAPIResponse, IupdateUserAPIResponse } from './interfaces/dauth.api.responses';
|
|
2
|
+
import { IdeleteAccountAPIResponse, IgetUserAPIResponse, IrefreshAccessTokenAPIResponse, IrefreshTokenAPIResponse, IsendEmailVerificationAPIResponse, IupdateUserAPIResponse } from './interfaces/dauth.api.responses';
|
|
3
3
|
export declare const getUserAPI: (domainName: string, token: string) => Promise<IgetUserAPIResponse>;
|
|
4
4
|
export declare const updateUserAPI: (domainName: string, user: Partial<IDauthUser>, token: string) => Promise<IupdateUserAPIResponse>;
|
|
5
5
|
export declare const sendEmailVerificationAPI: (domainName: string, token: string) => Promise<IsendEmailVerificationAPIResponse>;
|
|
6
6
|
export declare const refreshAccessTokenAPI: (domainName: string, token: string) => Promise<IrefreshAccessTokenAPIResponse>;
|
|
7
7
|
export declare const refreshTokenAPI: (domainName: string, refreshToken: string) => Promise<IrefreshTokenAPIResponse>;
|
|
8
|
+
export declare const deleteAccountAPI: (domainName: string, token: string) => Promise<IdeleteAccountAPIResponse>;
|
|
8
9
|
export declare const logoutAPI: (domainName: string, refreshToken: string) => Promise<{
|
|
9
10
|
response: Response;
|
|
10
11
|
}>;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { IDauthDomainState, IDauthUser } from '../../interfaces';
|
|
2
|
+
export interface IdeleteAccountAPIResponse {
|
|
3
|
+
response: Response;
|
|
4
|
+
data: {
|
|
5
|
+
status: string;
|
|
6
|
+
message: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
2
9
|
export interface IgetUserAPIResponse {
|
|
3
10
|
response: Response;
|
|
4
11
|
data: {
|
|
@@ -176,6 +176,9 @@ var initialDauthState = {
|
|
|
176
176
|
},
|
|
177
177
|
sendEmailVerification: function sendEmailVerification() {
|
|
178
178
|
return Promise.resolve(false);
|
|
179
|
+
},
|
|
180
|
+
deleteAccount: function deleteAccount() {
|
|
181
|
+
return Promise.resolve(false);
|
|
179
182
|
}
|
|
180
183
|
};
|
|
181
184
|
|
|
@@ -391,11 +394,43 @@ var refreshTokenAPI = /*#__PURE__*/function () {
|
|
|
391
394
|
return _ref5.apply(this, arguments);
|
|
392
395
|
};
|
|
393
396
|
}();
|
|
394
|
-
var
|
|
395
|
-
var _ref6 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(domainName,
|
|
396
|
-
var params, response;
|
|
397
|
+
var deleteAccountAPI = /*#__PURE__*/function () {
|
|
398
|
+
var _ref6 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(domainName, token) {
|
|
399
|
+
var params, response, data;
|
|
397
400
|
return _regenerator().w(function (_context6) {
|
|
398
401
|
while (1) switch (_context6.n) {
|
|
402
|
+
case 0:
|
|
403
|
+
params = {
|
|
404
|
+
method: 'DELETE',
|
|
405
|
+
headers: {
|
|
406
|
+
Authorization: token,
|
|
407
|
+
'Content-Type': 'application/json'
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
_context6.n = 1;
|
|
411
|
+
return fetch(getServerBasePath() + "/app/" + domainName + "/user", params);
|
|
412
|
+
case 1:
|
|
413
|
+
response = _context6.v;
|
|
414
|
+
_context6.n = 2;
|
|
415
|
+
return response.json();
|
|
416
|
+
case 2:
|
|
417
|
+
data = _context6.v;
|
|
418
|
+
return _context6.a(2, {
|
|
419
|
+
response: response,
|
|
420
|
+
data: data
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
}, _callee6);
|
|
424
|
+
}));
|
|
425
|
+
return function deleteAccountAPI(_x10, _x11) {
|
|
426
|
+
return _ref6.apply(this, arguments);
|
|
427
|
+
};
|
|
428
|
+
}();
|
|
429
|
+
var logoutAPI = /*#__PURE__*/function () {
|
|
430
|
+
var _ref7 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(domainName, refreshToken) {
|
|
431
|
+
var params, response;
|
|
432
|
+
return _regenerator().w(function (_context7) {
|
|
433
|
+
while (1) switch (_context7.n) {
|
|
399
434
|
case 0:
|
|
400
435
|
params = {
|
|
401
436
|
method: 'POST',
|
|
@@ -406,18 +441,18 @@ var logoutAPI = /*#__PURE__*/function () {
|
|
|
406
441
|
refreshToken: refreshToken
|
|
407
442
|
})
|
|
408
443
|
};
|
|
409
|
-
|
|
444
|
+
_context7.n = 1;
|
|
410
445
|
return fetch(getServerBasePath() + "/app/" + domainName + "/logout", params);
|
|
411
446
|
case 1:
|
|
412
|
-
response =
|
|
413
|
-
return
|
|
447
|
+
response = _context7.v;
|
|
448
|
+
return _context7.a(2, {
|
|
414
449
|
response: response
|
|
415
450
|
});
|
|
416
451
|
}
|
|
417
|
-
},
|
|
452
|
+
}, _callee7);
|
|
418
453
|
}));
|
|
419
|
-
return function logoutAPI(
|
|
420
|
-
return
|
|
454
|
+
return function logoutAPI(_x12, _x13) {
|
|
455
|
+
return _ref7.apply(this, arguments);
|
|
421
456
|
};
|
|
422
457
|
}();
|
|
423
458
|
|
|
@@ -808,8 +843,6 @@ function _sendEmailVerificationAction() {
|
|
|
808
843
|
function getAccessTokenAction(_x7) {
|
|
809
844
|
return _getAccessTokenAction.apply(this, arguments);
|
|
810
845
|
}
|
|
811
|
-
///////////////////////////////////////////
|
|
812
|
-
//////////////////////////////////////////
|
|
813
846
|
function _getAccessTokenAction() {
|
|
814
847
|
_getAccessTokenAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(_ref7) {
|
|
815
848
|
var dispatch, domainName, token_ls, payloadB64, payload, expiresIn, refreshedToken;
|
|
@@ -856,6 +889,41 @@ function _getAccessTokenAction() {
|
|
|
856
889
|
}));
|
|
857
890
|
return _getAccessTokenAction.apply(this, arguments);
|
|
858
891
|
}
|
|
892
|
+
function deleteAccountAction(_x8) {
|
|
893
|
+
return _deleteAccountAction.apply(this, arguments);
|
|
894
|
+
}
|
|
895
|
+
///////////////////////////////////////////
|
|
896
|
+
//////////////////////////////////////////
|
|
897
|
+
function _deleteAccountAction() {
|
|
898
|
+
_deleteAccountAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(_ref8) {
|
|
899
|
+
var dispatch, domainName, token, result, _t8;
|
|
900
|
+
return _regenerator().w(function (_context8) {
|
|
901
|
+
while (1) switch (_context8.p = _context8.n) {
|
|
902
|
+
case 0:
|
|
903
|
+
dispatch = _ref8.dispatch, domainName = _ref8.domainName, token = _ref8.token;
|
|
904
|
+
_context8.p = 1;
|
|
905
|
+
_context8.n = 2;
|
|
906
|
+
return deleteAccountAPI(domainName, token);
|
|
907
|
+
case 2:
|
|
908
|
+
result = _context8.v;
|
|
909
|
+
if (!(result.response.status === 200)) {
|
|
910
|
+
_context8.n = 3;
|
|
911
|
+
break;
|
|
912
|
+
}
|
|
913
|
+
resetUser(dispatch);
|
|
914
|
+
return _context8.a(2, true);
|
|
915
|
+
case 3:
|
|
916
|
+
return _context8.a(2, false);
|
|
917
|
+
case 4:
|
|
918
|
+
_context8.p = 4;
|
|
919
|
+
_t8 = _context8.v;
|
|
920
|
+
console.error('Delete account error', _t8);
|
|
921
|
+
return _context8.a(2, false);
|
|
922
|
+
}
|
|
923
|
+
}, _callee8, null, [[1, 4]]);
|
|
924
|
+
}));
|
|
925
|
+
return _deleteAccountAction.apply(this, arguments);
|
|
926
|
+
}
|
|
859
927
|
var resetUser = function resetUser(dispatch) {
|
|
860
928
|
localStorage.removeItem(TOKEN_LS);
|
|
861
929
|
localStorage.removeItem(REFRESH_TOKEN_LS);
|
|
@@ -1090,6 +1158,30 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1090
1158
|
}
|
|
1091
1159
|
}, _callee7);
|
|
1092
1160
|
})), [domainName]);
|
|
1161
|
+
var deleteAccount = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {
|
|
1162
|
+
var token_ls;
|
|
1163
|
+
return _regenerator().w(function (_context8) {
|
|
1164
|
+
while (1) switch (_context8.n) {
|
|
1165
|
+
case 0:
|
|
1166
|
+
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1167
|
+
if (token_ls) {
|
|
1168
|
+
_context8.n = 1;
|
|
1169
|
+
break;
|
|
1170
|
+
}
|
|
1171
|
+
return _context8.a(2, false);
|
|
1172
|
+
case 1:
|
|
1173
|
+
if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);
|
|
1174
|
+
_context8.n = 2;
|
|
1175
|
+
return deleteAccountAction({
|
|
1176
|
+
dispatch: dispatch,
|
|
1177
|
+
domainName: domainName,
|
|
1178
|
+
token: token_ls
|
|
1179
|
+
});
|
|
1180
|
+
case 2:
|
|
1181
|
+
return _context8.a(2, _context8.v);
|
|
1182
|
+
}
|
|
1183
|
+
}, _callee8);
|
|
1184
|
+
})), [domainName]);
|
|
1093
1185
|
var memoProvider = React.useMemo(function () {
|
|
1094
1186
|
return _extends({}, dauthState, {
|
|
1095
1187
|
loginWithRedirect: loginWithRedirect,
|
|
@@ -1097,9 +1189,10 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1097
1189
|
getAccessToken: getAccessToken,
|
|
1098
1190
|
updateUser: updateUser,
|
|
1099
1191
|
updateUserWithRedirect: updateUserWithRedirect,
|
|
1100
|
-
sendEmailVerification: sendEmailVerification
|
|
1192
|
+
sendEmailVerification: sendEmailVerification,
|
|
1193
|
+
deleteAccount: deleteAccount
|
|
1101
1194
|
});
|
|
1102
|
-
}, [dauthState, loginWithRedirect, logout, getAccessToken, updateUser, updateUserWithRedirect, sendEmailVerification]);
|
|
1195
|
+
}, [dauthState, loginWithRedirect, logout, getAccessToken, updateUser, updateUserWithRedirect, sendEmailVerification, deleteAccount]);
|
|
1103
1196
|
return React__default.createElement(DauthContext.Provider, {
|
|
1104
1197
|
value: memoProvider
|
|
1105
1198
|
}, children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/api/utils/routes.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IrefreshTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshTokenAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<IrefreshTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const logoutAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<{ response: Response }> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/logout`,\n params\n );\n return { response };\n};\n","export const TOKEN_LS = 'dauth_state';\nexport const REFRESH_TOKEN_LS = 'dauth_refresh_token';\n","import {\n getUserAPI,\n logoutAPI,\n refreshTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n refreshToken: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n refreshToken,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState({}, document.title, window.location.pathname);\n localStorage.setItem(TOKEN_LS, token);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshToken);\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n const newAccessToken = refreshResult.data.accessToken;\n const newRefreshToken = refreshResult.data.refreshToken;\n localStorage.setItem(TOKEN_LS, newAccessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, newRefreshToken);\n const getUserFetch = await getUserAPI(domainName, newAccessToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n return;\n }\n }\n // Refresh failed — session expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (storedRefreshToken && domainName) {\n try {\n await logoutAPI(domainName, storedRefreshToken);\n } catch (_) {\n // Best-effort server-side logout\n }\n }\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language:\n window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\nexport async function refreshSessionAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n localStorage.setItem(TOKEN_LS, refreshResult.data.accessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshResult.data.refreshToken);\n return;\n }\n // Refresh failed — revoked or expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n }\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return 'token-not-found';\n // Decode JWT to check expiry (without verification — that's the server's job)\n try {\n const payloadB64 = token_ls.split('.')[1];\n if (payloadB64) {\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // If token expires in less than 5 minutes, refresh proactively\n if (expiresIn < 5 * 60 * 1000) {\n await refreshSessionAction({ dispatch, domainName });\n const refreshedToken = localStorage.getItem(TOKEN_LS);\n return refreshedToken || 'token-not-found';\n }\n }\n } catch (_) {\n // If decode fails, return stored token and let server validate\n }\n return token_ls;\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","export const routes = {\n signin: 'signin',\n updateUser: 'update-user',\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n useRef,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n const refreshTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Schedule next proactive refresh based on access token expiry\n const scheduleRefresh = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n const token = localStorage.getItem(TOKEN_LS);\n if (!token) return;\n try {\n const payloadB64 = token.split('.')[1];\n if (!payloadB64) return;\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // Refresh 5 minutes before expiry, minimum 10 seconds\n const refreshIn = Math.max(expiresIn - 5 * 60 * 1000, 10_000);\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, refreshIn);\n } catch (_) {\n // If decode fails, retry in 5 minutes\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, 5 * 60 * 1000);\n }\n }, [domainName]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n const refresh_url = urlParams.get(REFRESH_TOKEN_LS);\n if (token_url && refresh_url && !dauthState.isAuthenticated) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n refreshToken: refresh_url,\n domainName,\n });\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const refreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (refreshToken && !dauthState.isAuthenticated) {\n return action.setAutoLoginAction({ dispatch, domainName });\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n // Schedule proactive refresh when authenticated\n useEffect(() => {\n if (dauthState.isAuthenticated) {\n scheduleRefresh();\n }\n return () => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n };\n }, [dauthState.isAuthenticated, scheduleRefresh]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return action.setLogoutAction({ dispatch, domainName });\n }, [domainName]);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async (fields: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } = fields;\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","apiVersion","serverDomain","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverPort","serverLocalUrl","protocol","serverProdUrl","getClientBasePath","clientPort","clientLocalUrl","clientProdUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","data","w","_context","n","method","headers","Authorization","fetch","v","json","a","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshTokenAPI","_ref5","_callee5","refreshToken","_context5","_x0","_x1","logoutAPI","_ref6","_callee6","_context6","_x10","_x11","TOKEN_LS","REFRESH_TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","_t","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","storedRefreshToken","refreshResult","newAccessToken","newRefreshToken","_t2","getItem","accessToken","setLogoutAction","_setLogoutAction","removeItem","refreshSessionAction","_refreshSessionAction","_callee4","_ref4","_t4","_context4","setUpdateUserAction","_setUpdateUserAction","_t5","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","payloadB64","expiresIn","refreshedToken","_context7","split","parse","atob","exp","Date","now","routes","signin","DauthProvider","props","children","_useReducer","useReducer","dauthState","refreshTimerRef","useRef","scheduleRefresh","useCallback","current","clearTimeout","refreshIn","Math","max","setTimeout","_","useEffect","queryString","urlParams","token_url","refresh_url","search","URLSearchParams","get","replace","fields","name","lastname","nickname","telPrefix","telSuffix","avatar","birthDate","country","metadata","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/api/utils/routes.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n deleteAccount: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IdeleteAccountAPIResponse,\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IrefreshTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<IupdateUserAPIResponse> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<IsendEmailVerificationAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshTokenAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<IrefreshTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const deleteAccountAPI = async (\n domainName: string,\n token: string\n): Promise<IdeleteAccountAPIResponse> => {\n const params = {\n method: 'DELETE',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const logoutAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<{ response: Response }> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/logout`,\n params\n );\n return { response };\n};\n","export const TOKEN_LS = 'dauth_state';\nexport const REFRESH_TOKEN_LS = 'dauth_refresh_token';\n","import {\n deleteAccountAPI,\n getUserAPI,\n logoutAPI,\n refreshTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n refreshToken: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n refreshToken,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState({}, document.title, window.location.pathname);\n localStorage.setItem(TOKEN_LS, token);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshToken);\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n const newAccessToken = refreshResult.data.accessToken;\n const newRefreshToken = refreshResult.data.refreshToken;\n localStorage.setItem(TOKEN_LS, newAccessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, newRefreshToken);\n const getUserFetch = await getUserAPI(domainName, newAccessToken);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n return;\n }\n }\n // Refresh failed — session expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (storedRefreshToken && domainName) {\n try {\n await logoutAPI(domainName, storedRefreshToken);\n } catch (_) {\n // Best-effort server-side logout\n }\n }\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\nexport async function refreshSessionAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n localStorage.setItem(TOKEN_LS, refreshResult.data.accessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshResult.data.refreshToken);\n return;\n }\n // Refresh failed — revoked or expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n }\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return 'token-not-found';\n // Decode JWT to check expiry (without verification — that's the server's job)\n try {\n const payloadB64 = token_ls.split('.')[1];\n if (payloadB64) {\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // If token expires in less than 5 minutes, refresh proactively\n if (expiresIn < 5 * 60 * 1000) {\n await refreshSessionAction({ dispatch, domainName });\n const refreshedToken = localStorage.getItem(TOKEN_LS);\n return refreshedToken || 'token-not-found';\n }\n }\n } catch (_) {\n // If decode fails, return stored token and let server validate\n }\n return token_ls;\n}\n\nexport async function deleteAccountAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const result = await deleteAccountAPI(domainName, token);\n if (result.response.status === 200) {\n resetUser(dispatch);\n return true;\n }\n return false;\n } catch (error) {\n console.error('Delete account error', error);\n return false;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","export const routes = {\n signin: 'signin',\n updateUser: 'update-user',\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n useRef,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n const refreshTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Schedule next proactive refresh based on access token expiry\n const scheduleRefresh = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n const token = localStorage.getItem(TOKEN_LS);\n if (!token) return;\n try {\n const payloadB64 = token.split('.')[1];\n if (!payloadB64) return;\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // Refresh 5 minutes before expiry, minimum 10 seconds\n const refreshIn = Math.max(expiresIn - 5 * 60 * 1000, 10_000);\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, refreshIn);\n } catch (_) {\n // If decode fails, retry in 5 minutes\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, 5 * 60 * 1000);\n }\n }, [domainName]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n const refresh_url = urlParams.get(REFRESH_TOKEN_LS);\n if (token_url && refresh_url && !dauthState.isAuthenticated) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n refreshToken: refresh_url,\n domainName,\n });\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const refreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (refreshToken && !dauthState.isAuthenticated) {\n return action.setAutoLoginAction({ dispatch, domainName });\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n // Schedule proactive refresh when authenticated\n useEffect(() => {\n if (dauthState.isAuthenticated) {\n scheduleRefresh();\n }\n return () => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n };\n }, [dauthState.isAuthenticated, scheduleRefresh]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return action.setLogoutAction({ dispatch, domainName });\n }, [domainName]);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async (fields: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } = fields;\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const deleteAccount = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return (await action.deleteAccountAction({\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 deleteAccount,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n deleteAccount,\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","deleteAccount","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","apiVersion","serverDomain","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverPort","serverLocalUrl","protocol","serverProdUrl","getClientBasePath","clientPort","clientLocalUrl","clientProdUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","data","w","_context","n","method","headers","Authorization","fetch","v","json","a","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshTokenAPI","_ref5","_callee5","refreshToken","_context5","_x0","_x1","deleteAccountAPI","_ref6","_callee6","_context6","_x10","_x11","logoutAPI","_ref7","_callee7","_context7","_x12","_x13","TOKEN_LS","REFRESH_TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","_t","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","storedRefreshToken","refreshResult","newAccessToken","newRefreshToken","_t2","getItem","accessToken","setLogoutAction","_setLogoutAction","removeItem","refreshSessionAction","_refreshSessionAction","_callee4","_ref4","_t4","_context4","setUpdateUserAction","_setUpdateUserAction","_t5","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","getAccessTokenAction","_getAccessTokenAction","token_ls","payloadB64","expiresIn","refreshedToken","split","parse","atob","exp","Date","now","deleteAccountAction","_x8","_deleteAccountAction","_callee8","_ref8","result","_t8","_context8","routes","signin","DauthProvider","props","children","_useReducer","useReducer","dauthState","refreshTimerRef","useRef","scheduleRefresh","useCallback","current","clearTimeout","refreshIn","Math","max","setTimeout","_","useEffect","queryString","urlParams","token_url","refresh_url","search","URLSearchParams","get","replace","fields","name","lastname","nickname","telPrefix","telSuffix","avatar","birthDate","country","metadata","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function r(e,t,n,r,a,o,i){try{var u=e[o](i),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,c,"next",e)}function c(e){r(i,a,o,u,c,"throw",e)}u(void 0)}))}}function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function i(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=Object.create((r&&r.prototype instanceof s?r:s).prototype);return u(i,"_invoke",function(n,r,a){var o,i,u,s=0,f=a||[],p=!1,l={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,i=0,u=e,l.n=n,c}};function d(n,r){for(i=n,u=r,t=0;!p&&s&&!a&&t<f.length;t++){var a,o=f[t],d=l.p,m=o[2];n>3?(a=m===r)&&(u=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=d&&((a=n<2&&d<o[1])?(i=0,l.v=r,l.n=o[1]):d<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,l.n=m,i=0))}if(a||n>1)return c;throw p=!0,r}return function(a,f,m){if(s>1)throw TypeError("Generator is already running");for(p&&1===f&&d(f,m),i=f,u=m;(t=i<2?e:u)||!p;){o||(i?i<3?(i>1&&(l.n=-1),d(i,u)):l.n=u:l.v=u);try{if(s=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(p=l.n<0)?u:n.call(r,l))!==c)break}catch(t){o=e,i=1,u=t}finally{s=1}}return{value:t,done:p}}}(n,a,o),!0),i}var c={};function s(){}function f(){}function p(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(u(t={},r,(function(){return this})),t),d=p.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,u(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return f.prototype=p,u(d,"constructor",p),u(p,"constructor",f),f.displayName="GeneratorFunction",u(p,a,"GeneratorFunction"),u(d),u(d,a,"Generator"),u(d,r,(function(){return this})),u(d,"toString",(function(){return"[object Generator]"})),(i=function(){return{w:o,m:m}})()}function u(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(u=function(e,t,n,r){function o(t,n){u(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))})(e,t,n,r)}var c={user:{language:("undefined"!=typeof window?window.document.documentElement.getAttribute("lang"):null)||"es"},domain:{},isLoading:!0,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)}},s="LOGIN";function f(e,t){var n=t.payload;switch(t.type){case s:return o({},e,{user:n.user,domain:n.domain,isAuthenticated:n.isAuthenticated});case"SET_IS_LOADING":return o({},e,{isLoading:n.isLoading});case"UPDATE_USER":return o({},e,{user:o({},e.user,n)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{status:{type:n.type,message:n.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{isLoading:n})});default:return e}}function p(){if("undefined"==typeof window)return!1;var e=window.location.hostname;return Boolean("localhost"===e||"[::1]"===e||e.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||e.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))}function l(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return e?t:"https://dauth.ovh/api/v1"}function d(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":5185";return e?t:"https://dauth.ovh"}var m=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),h=function(){var e=a(i().m((function e(t,n,r){var a,o;return i().w((function(e){for(;;)switch(e.n){case 0:return a={method:"PATCH",headers:{Authorization:r,"Content-Type":"application/json"},body:JSON.stringify(n)},e.n=1,fetch(l()+"/app/"+t+"/user",a);case 1:return o=e.v,e.n=2,o.json();case 2:return e.a(2,{response:o,data:e.v})}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),y=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/resend-email-verification",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),v=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/refresh-token",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),S=function(){var e=a(i().m((function e(t,n){var r;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/logout",r);case 1:return e.a(2,{response:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),g="dauth_state",I="dauth_refresh_token";function w(e){return _.apply(this,arguments)}function _(){return(_=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.token,a=t.refreshToken,o=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e.p=1,e.n=2,m(o,r);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:s,payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,window.location.pathname),localStorage.setItem(g,r),localStorage.setItem(I,a),e.a(2);case 3:return e.a(2,P(n));case 4:e.n=6;break;case 5:return e.p=5,console.error(e.v),e.a(2,P(n));case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function E(e){return T.apply(this,arguments)}function T(){return(T=a(i().m((function e(t){var n,r,a,o,u,c,f;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(r=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),a=localStorage.getItem(I)){e.n=1;break}return n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.a(2,P(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=4;break}return u=o.data.accessToken,c=o.data.refreshToken,localStorage.setItem(g,u),localStorage.setItem(I,c),e.n=3,m(r,u);case 3:if(200!==(f=e.v).response.status){e.n=4;break}return n({type:s,payload:{user:f.data.user,domain:f.data.domain,isAuthenticated:!0}}),e.a(2);case 4:P(n),e.n=6;break;case 5:e.p=5,console.error(e.v),P(n);case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function b(){return(b=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,!(a=localStorage.getItem(I))||!r){e.n=4;break}return e.p=1,e.n=2,S(r,a);case 2:e.n=4;break;case 3:e.p=3;case 4:return n({type:"SET_IS_LOADING",payload:{isLoading:!0}}),n({type:s,payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(g),localStorage.removeItem(I),e.a(2,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}))}}),e,null,[[1,3]])})))).apply(this,arguments)}function A(e){return N.apply(this,arguments)}function N(){return(N=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(I)){e.n=1;break}return e.a(2,P(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return localStorage.setItem(g,o.data.accessToken),localStorage.setItem(I,o.data.refreshToken),e.a(2);case 3:P(n),e.n=5;break;case 4:e.p=4,console.error(e.v),P(n);case 5:return e.a(2)}}),e,null,[[1,4]])})))).apply(this,arguments)}function k(e){return O.apply(this,arguments)}function O(){return(O=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,o=t.token,(a=t.user).language&&window.document.documentElement.setAttribute("lang",a.language),o){e.n=1;break}return n({type:"UPDATE_USER",payload:a}),e.a(2,!1);case 1:return e.p=1,e.n=2,h(r,a,o);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:"UPDATE_USER",payload:u.data.user}),e.a(2,!0);case 3:return console.error("Update user error",u.data.message),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,console.error("Update user error",e.v),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function L(e){return D.apply(this,arguments)}function D(){return(D=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.domainName,a=t.token,(n=t.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),e.p=1,e.n=2,y(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!0);case 3:return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function C(e){return G.apply(this,arguments)}function G(){return(G=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(g)){e.n=1;break}return e.a(2,"token-not-found");case 1:if(e.p=1,!(o=a.split(".")[1])){e.n=3;break}if(!(1e3*(JSON.parse(atob(o)).exp||0)-Date.now()<3e5)){e.n=3;break}return e.n=2,A({dispatch:n,domainName:r});case 2:return u=localStorage.getItem(g),e.a(2,u||"token-not-found");case 3:e.n=5;break;case 4:e.p=4;case 5:return e.a(2,a)}}),e,null,[[1,4]])})))).apply(this,arguments)}var P=function(e){return localStorage.removeItem(g),localStorage.removeItem(I),e({type:s,payload:{user:{},domain:{},isAuthenticated:!1}})},j=t.createContext(c);exports.DauthProvider=function(e){var r=e.domainName,u=e.children,s=t.useReducer(f,c),p=s[0],l=s[1],m=t.useRef(null),h=t.useCallback((function(){m.current&&clearTimeout(m.current);var e=localStorage.getItem(g);if(e)try{var t=e.split(".")[1];if(!t)return;var n=1e3*(JSON.parse(atob(t)).exp||0)-Date.now(),o=Math.max(n-3e5,1e4);m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,A({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),o)}catch(e){m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,A({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),3e5)}}),[r]);t.useEffect((function(){a(i().m((function e(){var t,n,a,o;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=window.location.search){e.n=1;break}return e.a(2);case 1:if(n=new URLSearchParams(t),a=n.get(g),o=n.get(I),!a||!o||p.isAuthenticated){e.n=2;break}return e.a(2,w({dispatch:l,token:a,refreshToken:o,domainName:r}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:if(!localStorage.getItem(I)||p.isAuthenticated){e.n=1;break}return e.a(2,E({dispatch:l,domainName:r}));case 1:return e.a(2,l({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){return p.isAuthenticated&&h(),function(){m.current&&clearTimeout(m.current)}}),[p.isAuthenticated,h]);var y=t.useCallback((function(){return window.location.replace(d()+"/"+r+"/signin")}),[r]),v=t.useCallback((function(){return m.current&&clearTimeout(m.current),function(e){return b.apply(this,arguments)}({dispatch:l,domainName:r})}),[r]),S=t.useCallback(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,C({dispatch:l,domainName:r});case 1:return e.a(2,e.v)}}),e)}))),[r]),_=t.useCallback(function(){var e=a(i().m((function e(t){var n,a;return i().w((function(e){for(;;)switch(e.n){case 0:return n=localStorage.getItem(g),a={name:t.name,lastname:t.lastname,nickname:t.nickname,telPrefix:t.telPrefix,telSuffix:t.telSuffix,language:t.language,avatar:t.avatar,birthDate:t.birthDate,country:t.country,metadata:t.metadata},e.n=1,k({dispatch:l,domainName:r,user:a,token:n});case 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[r]),T=t.useCallback((function(){var e=localStorage.getItem(g);if(e)return window.location.replace(d()+"/"+r+"/update-user/"+e)}),[r]),N=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(g)){e.n=1;break}return e.a(2,!1);case 1:return e.n=2,L({dispatch:l,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),O=t.useMemo((function(){return o({},p,{loginWithRedirect:y,logout:v,getAccessToken:S,updateUser:_,updateUserWithRedirect:T,sendEmailVerification:N})}),[p,y,v,S,_,T,N]);return n.createElement(j.Provider,{value:O},u)},exports.useDauth=function(){var e=t.useContext(j);if(!e)throw new Error("useDauth must be used inside DauthProvider");return e};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function r(e,t,n,r,a,o,i){try{var u=e[o](i),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,c,"next",e)}function c(e){r(i,a,o,u,c,"throw",e)}u(void 0)}))}}function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function i(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=Object.create((r&&r.prototype instanceof s?r:s).prototype);return u(i,"_invoke",function(n,r,a){var o,i,u,s=0,f=a||[],p=!1,l={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,i=0,u=e,l.n=n,c}};function d(n,r){for(i=n,u=r,t=0;!p&&s&&!a&&t<f.length;t++){var a,o=f[t],d=l.p,m=o[2];n>3?(a=m===r)&&(u=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=d&&((a=n<2&&d<o[1])?(i=0,l.v=r,l.n=o[1]):d<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,l.n=m,i=0))}if(a||n>1)return c;throw p=!0,r}return function(a,f,m){if(s>1)throw TypeError("Generator is already running");for(p&&1===f&&d(f,m),i=f,u=m;(t=i<2?e:u)||!p;){o||(i?i<3?(i>1&&(l.n=-1),d(i,u)):l.n=u:l.v=u);try{if(s=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(p=l.n<0)?u:n.call(r,l))!==c)break}catch(t){o=e,i=1,u=t}finally{s=1}}return{value:t,done:p}}}(n,a,o),!0),i}var c={};function s(){}function f(){}function p(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(u(t={},r,(function(){return this})),t),d=p.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,u(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return f.prototype=p,u(d,"constructor",p),u(p,"constructor",f),f.displayName="GeneratorFunction",u(p,a,"GeneratorFunction"),u(d),u(d,a,"Generator"),u(d,r,(function(){return this})),u(d,"toString",(function(){return"[object Generator]"})),(i=function(){return{w:o,m:m}})()}function u(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(u=function(e,t,n,r){function o(t,n){u(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))})(e,t,n,r)}var c={user:{language:("undefined"!=typeof window?window.document.documentElement.getAttribute("lang"):null)||"es"},domain:{},isLoading:!0,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)},deleteAccount:function(){return Promise.resolve(!1)}},s="LOGIN";function f(e,t){var n=t.payload;switch(t.type){case s:return o({},e,{user:n.user,domain:n.domain,isAuthenticated:n.isAuthenticated});case"SET_IS_LOADING":return o({},e,{isLoading:n.isLoading});case"UPDATE_USER":return o({},e,{user:o({},e.user,n)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{status:{type:n.type,message:n.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{isLoading:n})});default:return e}}function p(){if("undefined"==typeof window)return!1;var e=window.location.hostname;return Boolean("localhost"===e||"[::1]"===e||e.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||e.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))}function l(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return e?t:"https://dauth.ovh/api/v1"}function d(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":5185";return e?t:"https://dauth.ovh"}var m=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),h=function(){var e=a(i().m((function e(t,n,r){var a,o;return i().w((function(e){for(;;)switch(e.n){case 0:return a={method:"PATCH",headers:{Authorization:r,"Content-Type":"application/json"},body:JSON.stringify(n)},e.n=1,fetch(l()+"/app/"+t+"/user",a);case 1:return o=e.v,e.n=2,o.json();case 2:return e.a(2,{response:o,data:e.v})}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),y=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/resend-email-verification",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),v=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/refresh-token",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),S=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"DELETE",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),g=function(){var e=a(i().m((function e(t,n){var r;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/logout",r);case 1:return e.a(2,{response:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),I="dauth_state",w="dauth_refresh_token";function E(e){return _.apply(this,arguments)}function _(){return(_=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.token,a=t.refreshToken,o=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e.p=1,e.n=2,m(o,r);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:s,payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,window.location.pathname),localStorage.setItem(I,r),localStorage.setItem(w,a),e.a(2);case 3:return e.a(2,U(n));case 4:e.n=6;break;case 5:return e.p=5,console.error(e.v),e.a(2,U(n));case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function T(e){return b.apply(this,arguments)}function b(){return(b=a(i().m((function e(t){var n,r,a,o,u,c,f;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(r=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),a=localStorage.getItem(w)){e.n=1;break}return n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.a(2,U(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=4;break}return u=o.data.accessToken,c=o.data.refreshToken,localStorage.setItem(I,u),localStorage.setItem(w,c),e.n=3,m(r,u);case 3:if(200!==(f=e.v).response.status){e.n=4;break}return n({type:s,payload:{user:f.data.user,domain:f.data.domain,isAuthenticated:!0}}),e.a(2);case 4:U(n),e.n=6;break;case 5:e.p=5,console.error(e.v),U(n);case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function A(){return(A=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,!(a=localStorage.getItem(w))||!r){e.n=4;break}return e.p=1,e.n=2,g(r,a);case 2:e.n=4;break;case 3:e.p=3;case 4:return n({type:"SET_IS_LOADING",payload:{isLoading:!0}}),n({type:s,payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(I),localStorage.removeItem(w),e.a(2,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}))}}),e,null,[[1,3]])})))).apply(this,arguments)}function k(e){return N.apply(this,arguments)}function N(){return(N=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(w)){e.n=1;break}return e.a(2,U(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return localStorage.setItem(I,o.data.accessToken),localStorage.setItem(w,o.data.refreshToken),e.a(2);case 3:U(n),e.n=5;break;case 4:e.p=4,console.error(e.v),U(n);case 5:return e.a(2)}}),e,null,[[1,4]])})))).apply(this,arguments)}function O(e){return L.apply(this,arguments)}function L(){return(L=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,o=t.token,(a=t.user).language&&window.document.documentElement.setAttribute("lang",a.language),o){e.n=1;break}return n({type:"UPDATE_USER",payload:a}),e.a(2,!1);case 1:return e.p=1,e.n=2,h(r,a,o);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:"UPDATE_USER",payload:u.data.user}),e.a(2,!0);case 3:return console.error("Update user error",u.data.message),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,console.error("Update user error",e.v),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function D(e){return C.apply(this,arguments)}function C(){return(C=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.domainName,a=t.token,(n=t.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),e.p=1,e.n=2,y(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!0);case 3:return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function j(e){return P.apply(this,arguments)}function P(){return(P=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(I)){e.n=1;break}return e.a(2,"token-not-found");case 1:if(e.p=1,!(o=a.split(".")[1])){e.n=3;break}if(!(1e3*(JSON.parse(atob(o)).exp||0)-Date.now()<3e5)){e.n=3;break}return e.n=2,k({dispatch:n,domainName:r});case 2:return u=localStorage.getItem(I),e.a(2,u||"token-not-found");case 3:e.n=5;break;case 4:e.p=4;case 5:return e.a(2,a)}}),e,null,[[1,4]])})))).apply(this,arguments)}function G(e){return R.apply(this,arguments)}function R(){return(R=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return n=t.dispatch,r=t.domainName,a=t.token,e.p=1,e.n=2,S(r,a);case 2:if(200!==e.v.response.status){e.n=3;break}return U(n),e.a(2,!0);case 3:return e.a(2,!1);case 4:return e.p=4,console.error("Delete account error",e.v),e.a(2,!1)}}),e,null,[[1,4]])})))).apply(this,arguments)}var U=function(e){return localStorage.removeItem(I),localStorage.removeItem(w),e({type:s,payload:{user:{},domain:{},isAuthenticated:!1}})},V=t.createContext(c);exports.DauthProvider=function(e){var r=e.domainName,u=e.children,s=t.useReducer(f,c),p=s[0],l=s[1],m=t.useRef(null),h=t.useCallback((function(){m.current&&clearTimeout(m.current);var e=localStorage.getItem(I);if(e)try{var t=e.split(".")[1];if(!t)return;var n=1e3*(JSON.parse(atob(t)).exp||0)-Date.now(),o=Math.max(n-3e5,1e4);m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,k({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),o)}catch(e){m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,k({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),3e5)}}),[r]);t.useEffect((function(){a(i().m((function e(){var t,n,a,o;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=window.location.search){e.n=1;break}return e.a(2);case 1:if(n=new URLSearchParams(t),a=n.get(I),o=n.get(w),!a||!o||p.isAuthenticated){e.n=2;break}return e.a(2,E({dispatch:l,token:a,refreshToken:o,domainName:r}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:if(!localStorage.getItem(w)||p.isAuthenticated){e.n=1;break}return e.a(2,T({dispatch:l,domainName:r}));case 1:return e.a(2,l({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){return p.isAuthenticated&&h(),function(){m.current&&clearTimeout(m.current)}}),[p.isAuthenticated,h]);var y=t.useCallback((function(){return window.location.replace(d()+"/"+r+"/signin")}),[r]),v=t.useCallback((function(){return m.current&&clearTimeout(m.current),function(e){return A.apply(this,arguments)}({dispatch:l,domainName:r})}),[r]),S=t.useCallback(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,j({dispatch:l,domainName:r});case 1:return e.a(2,e.v)}}),e)}))),[r]),g=t.useCallback(function(){var e=a(i().m((function e(t){var n,a;return i().w((function(e){for(;;)switch(e.n){case 0:return n=localStorage.getItem(I),a={name:t.name,lastname:t.lastname,nickname:t.nickname,telPrefix:t.telPrefix,telSuffix:t.telSuffix,language:t.language,avatar:t.avatar,birthDate:t.birthDate,country:t.country,metadata:t.metadata},e.n=1,O({dispatch:l,domainName:r,user:a,token:n});case 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[r]),_=t.useCallback((function(){var e=localStorage.getItem(I);if(e)return window.location.replace(d()+"/"+r+"/update-user/"+e)}),[r]),b=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(I)){e.n=1;break}return e.a(2,!1);case 1:return e.n=2,D({dispatch:l,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),N=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(I)){e.n=1;break}return e.a(2,!1);case 1:return m.current&&clearTimeout(m.current),e.n=2,G({dispatch:l,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),L=t.useMemo((function(){return o({},p,{loginWithRedirect:y,logout:v,getAccessToken:S,updateUser:g,updateUserWithRedirect:_,sendEmailVerification:b,deleteAccount:N})}),[p,y,v,S,g,_,b,N]);return n.createElement(V.Provider,{value:L},u)},exports.useDauth=function(){var e=t.useContext(V);if(!e)throw new Error("useDauth must be used inside DauthProvider");return e};
|
|
2
2
|
//# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
|