dauth-context-react 0.2.107 → 0.2.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/dauth.api.d.ts +6 -1
- package/dist/{routes.d.ts → api/utils/routes.d.ts} +1 -0
- package/dist/dauth-context-react.cjs.development.js +183 -63
- 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 +184 -64
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/initialDauthState.d.ts +1 -45
- package/dist/interfaces.d.ts +45 -0
- package/dist/reducer/dauth.actions.d.ts +1 -1
- package/dist/reducer/dauth.reducer.d.ts +1 -1
- package/package.json +2 -5
- package/src/api/dauth.api.ts +29 -2
- package/src/{routes.ts → api/utils/routes.ts} +1 -0
- package/src/index.tsx +43 -26
- package/src/initialDauthState.ts +1 -57
- package/src/interfaces.ts +57 -0
- package/src/reducer/dauth.actions.ts +2 -2
- package/src/reducer/dauth.reducer.ts +1 -1
package/dist/api/dauth.api.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { IDauthUser } from '../
|
|
1
|
+
import { IDauthUser } from '../interfaces';
|
|
2
2
|
export declare const getUserAPI: (domainName: string, token: string) => Promise<any>;
|
|
3
3
|
export declare const updateUserAPI: (domainName: string, user: Partial<IDauthUser>, token: string) => Promise<any>;
|
|
4
4
|
export declare const sendEmailVerificationAPI: (domainName: string, token: string) => Promise<any>;
|
|
5
5
|
export declare const refreshAccessTokenAPI: (domainName: string, token: string) => Promise<any>;
|
|
6
|
+
export declare const verifyTokenAPI: ({ domainName, ask, token, }: {
|
|
7
|
+
domainName: string;
|
|
8
|
+
ask: string;
|
|
9
|
+
token: string;
|
|
10
|
+
}) => Promise<any>;
|
|
@@ -6,7 +6,6 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
6
6
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var React__default = _interopDefault(React);
|
|
9
|
-
var JWT = _interopDefault(require('expo-jwt'));
|
|
10
9
|
|
|
11
10
|
function _regeneratorRuntime() {
|
|
12
11
|
_regeneratorRuntime = function () {
|
|
@@ -447,7 +446,8 @@ var routes = {
|
|
|
447
446
|
tenantUpdateUser: 't-update-user',
|
|
448
447
|
tenantGetUser: 't-get-user',
|
|
449
448
|
tenantResendEmailVerification: 't-resend-email-verification',
|
|
450
|
-
tenantRefreshAccessToken: 't-refresh-access-token'
|
|
449
|
+
tenantRefreshAccessToken: 't-refresh-access-token',
|
|
450
|
+
tenantVerifyToken: "t-verify-token"
|
|
451
451
|
};
|
|
452
452
|
|
|
453
453
|
var isLocalhost = /*#__PURE__*/Boolean(window.location.hostname === 'localhost' || window.location.hostname === '[::1]' || /*#__PURE__*/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) || /*#__PURE__*/window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));
|
|
@@ -619,6 +619,47 @@ var refreshAccessTokenAPI = /*#__PURE__*/function () {
|
|
|
619
619
|
return _ref4.apply(this, arguments);
|
|
620
620
|
};
|
|
621
621
|
}();
|
|
622
|
+
var verifyTokenAPI = /*#__PURE__*/function () {
|
|
623
|
+
var _ref6 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5) {
|
|
624
|
+
var domainName, ask, token, params, response, data;
|
|
625
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
626
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
627
|
+
case 0:
|
|
628
|
+
domainName = _ref5.domainName, ask = _ref5.ask, token = _ref5.token;
|
|
629
|
+
params = {
|
|
630
|
+
method: 'POST',
|
|
631
|
+
headers: {
|
|
632
|
+
Authorization: token,
|
|
633
|
+
'Content-Type': 'application/json'
|
|
634
|
+
},
|
|
635
|
+
body: JSON.stringify({
|
|
636
|
+
ask: ask
|
|
637
|
+
})
|
|
638
|
+
};
|
|
639
|
+
_context5.next = 4;
|
|
640
|
+
return fetch(getServerBasePath({
|
|
641
|
+
domainName: domainName
|
|
642
|
+
}) + "/" + routes.tenantVerifyToken + "/" + domainName, params);
|
|
643
|
+
case 4:
|
|
644
|
+
response = _context5.sent;
|
|
645
|
+
_context5.next = 7;
|
|
646
|
+
return response.json();
|
|
647
|
+
case 7:
|
|
648
|
+
data = _context5.sent;
|
|
649
|
+
return _context5.abrupt("return", {
|
|
650
|
+
response: response,
|
|
651
|
+
data: data
|
|
652
|
+
});
|
|
653
|
+
case 9:
|
|
654
|
+
case "end":
|
|
655
|
+
return _context5.stop();
|
|
656
|
+
}
|
|
657
|
+
}, _callee5);
|
|
658
|
+
}));
|
|
659
|
+
return function verifyTokenAPI(_x10) {
|
|
660
|
+
return _ref6.apply(this, arguments);
|
|
661
|
+
};
|
|
662
|
+
}();
|
|
622
663
|
|
|
623
664
|
var TOKEN_LS = 'dauth_state';
|
|
624
665
|
|
|
@@ -1036,52 +1077,131 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1036
1077
|
var _useReducer = React.useReducer(userReducer, initialDauthState),
|
|
1037
1078
|
dauthState = _useReducer[0],
|
|
1038
1079
|
dispatch = _useReducer[1];
|
|
1080
|
+
var verifyToken = React.useCallback( /*#__PURE__*/function () {
|
|
1081
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(token) {
|
|
1082
|
+
var verifyToken;
|
|
1083
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
1084
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1085
|
+
case 0:
|
|
1086
|
+
_context.next = 2;
|
|
1087
|
+
return verifyTokenAPI({
|
|
1088
|
+
domainName: domainName,
|
|
1089
|
+
token: token,
|
|
1090
|
+
ask: ask
|
|
1091
|
+
});
|
|
1092
|
+
case 2:
|
|
1093
|
+
verifyToken = _context.sent;
|
|
1094
|
+
if (!(verifyToken.response.status !== 200)) {
|
|
1095
|
+
_context.next = 5;
|
|
1096
|
+
break;
|
|
1097
|
+
}
|
|
1098
|
+
return _context.abrupt("return", setLogoutAction({
|
|
1099
|
+
dispatch: dispatch
|
|
1100
|
+
}));
|
|
1101
|
+
case 5:
|
|
1102
|
+
case "end":
|
|
1103
|
+
return _context.stop();
|
|
1104
|
+
}
|
|
1105
|
+
}, _callee);
|
|
1106
|
+
}));
|
|
1107
|
+
return function (_x) {
|
|
1108
|
+
return _ref.apply(this, arguments);
|
|
1109
|
+
};
|
|
1110
|
+
}(), [domainName, ask]);
|
|
1039
1111
|
// Check token periodically
|
|
1040
1112
|
React.useEffect(function () {
|
|
1041
1113
|
if (!dauthState.isAuthenticated) return;
|
|
1042
|
-
var interval = setInterval(function () {
|
|
1043
|
-
var token_ls
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1114
|
+
var interval = setInterval( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1115
|
+
var token_ls;
|
|
1116
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1117
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1118
|
+
case 0:
|
|
1119
|
+
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1120
|
+
if (token_ls) {
|
|
1121
|
+
_context2.next = 3;
|
|
1122
|
+
break;
|
|
1123
|
+
}
|
|
1124
|
+
return _context2.abrupt("return");
|
|
1125
|
+
case 3:
|
|
1126
|
+
_context2.next = 5;
|
|
1127
|
+
return verifyToken(token_ls);
|
|
1128
|
+
case 5:
|
|
1129
|
+
return _context2.abrupt("return", checkTokenAction({
|
|
1130
|
+
dispatch: dispatch,
|
|
1131
|
+
domainName: domainName,
|
|
1132
|
+
token: token_ls
|
|
1133
|
+
}));
|
|
1134
|
+
case 6:
|
|
1135
|
+
case "end":
|
|
1136
|
+
return _context2.stop();
|
|
1137
|
+
}
|
|
1138
|
+
}, _callee2);
|
|
1139
|
+
})), 1000 * 60 * 1);
|
|
1051
1140
|
return function () {
|
|
1052
1141
|
return clearInterval(interval);
|
|
1053
1142
|
};
|
|
1054
1143
|
}, []);
|
|
1055
1144
|
// Catch login redirect
|
|
1056
1145
|
React.useEffect(function () {
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1146
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
1147
|
+
var queryString, urlParams, token_url;
|
|
1148
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
1149
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1150
|
+
case 0:
|
|
1151
|
+
queryString = window.location.search;
|
|
1152
|
+
if (queryString) {
|
|
1153
|
+
_context3.next = 3;
|
|
1154
|
+
break;
|
|
1155
|
+
}
|
|
1156
|
+
return _context3.abrupt("return");
|
|
1157
|
+
case 3:
|
|
1158
|
+
urlParams = new URLSearchParams(queryString);
|
|
1159
|
+
token_url = urlParams.get(TOKEN_LS);
|
|
1160
|
+
if (!(token_url && !dauthState.isAuthenticated)) {
|
|
1161
|
+
_context3.next = 9;
|
|
1162
|
+
break;
|
|
1163
|
+
}
|
|
1164
|
+
_context3.next = 8;
|
|
1165
|
+
return verifyToken(token_url);
|
|
1166
|
+
case 8:
|
|
1167
|
+
setDauthStateAction({
|
|
1168
|
+
dispatch: dispatch,
|
|
1169
|
+
token: token_url,
|
|
1170
|
+
domainName: domainName
|
|
1171
|
+
});
|
|
1172
|
+
case 9:
|
|
1173
|
+
case "end":
|
|
1174
|
+
return _context3.stop();
|
|
1175
|
+
}
|
|
1176
|
+
}, _callee3);
|
|
1177
|
+
}))();
|
|
1068
1178
|
}, []);
|
|
1069
1179
|
// Auto Login
|
|
1070
1180
|
React.useEffect(function () {
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1181
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
1182
|
+
var token_ls;
|
|
1183
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1184
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1185
|
+
case 0:
|
|
1186
|
+
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1187
|
+
if (!(token_ls && !dauthState.isAuthenticated)) {
|
|
1188
|
+
_context4.next = 5;
|
|
1189
|
+
break;
|
|
1190
|
+
}
|
|
1191
|
+
_context4.next = 4;
|
|
1192
|
+
return verifyToken(token_ls);
|
|
1193
|
+
case 4:
|
|
1194
|
+
setAutoLoginAction({
|
|
1195
|
+
dispatch: dispatch,
|
|
1196
|
+
dauth_state_ls: token_ls,
|
|
1197
|
+
domainName: domainName
|
|
1198
|
+
});
|
|
1199
|
+
case 5:
|
|
1200
|
+
case "end":
|
|
1201
|
+
return _context4.stop();
|
|
1202
|
+
}
|
|
1203
|
+
}, _callee4);
|
|
1204
|
+
}))();
|
|
1085
1205
|
}, []);
|
|
1086
1206
|
var loginWithRedirect = React.useCallback(function () {
|
|
1087
1207
|
return window.location.replace(getClientBasePath({
|
|
@@ -1093,32 +1213,32 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1093
1213
|
dispatch: dispatch
|
|
1094
1214
|
});
|
|
1095
1215
|
}, []);
|
|
1096
|
-
var getAccessToken = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1216
|
+
var getAccessToken = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
1097
1217
|
var token;
|
|
1098
|
-
return _regeneratorRuntime().wrap(function
|
|
1099
|
-
while (1) switch (
|
|
1218
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
1219
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1100
1220
|
case 0:
|
|
1101
|
-
|
|
1221
|
+
_context5.next = 2;
|
|
1102
1222
|
return getAccessTokenAction({
|
|
1103
1223
|
dispatch: dispatch,
|
|
1104
1224
|
domainName: domainName
|
|
1105
1225
|
});
|
|
1106
1226
|
case 2:
|
|
1107
|
-
token =
|
|
1108
|
-
return
|
|
1227
|
+
token = _context5.sent;
|
|
1228
|
+
return _context5.abrupt("return", token);
|
|
1109
1229
|
case 4:
|
|
1110
1230
|
case "end":
|
|
1111
|
-
return
|
|
1231
|
+
return _context5.stop();
|
|
1112
1232
|
}
|
|
1113
|
-
},
|
|
1233
|
+
}, _callee5);
|
|
1114
1234
|
})), []);
|
|
1115
1235
|
var updateUser = React.useCallback( /*#__PURE__*/function () {
|
|
1116
|
-
var
|
|
1236
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(_ref6) {
|
|
1117
1237
|
var name, lastname, nickname, telPrefix, telSuffix, language, avatar, token_ls, user;
|
|
1118
|
-
return _regeneratorRuntime().wrap(function
|
|
1119
|
-
while (1) switch (
|
|
1238
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1239
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
1120
1240
|
case 0:
|
|
1121
|
-
name =
|
|
1241
|
+
name = _ref6.name, lastname = _ref6.lastname, nickname = _ref6.nickname, telPrefix = _ref6.telPrefix, telSuffix = _ref6.telSuffix, language = _ref6.language, avatar = _ref6.avatar;
|
|
1122
1242
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1123
1243
|
user = {
|
|
1124
1244
|
name: name,
|
|
@@ -1129,7 +1249,7 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1129
1249
|
language: language,
|
|
1130
1250
|
avatar: avatar
|
|
1131
1251
|
};
|
|
1132
|
-
|
|
1252
|
+
_context6.next = 5;
|
|
1133
1253
|
return setUpdateUserAction({
|
|
1134
1254
|
dispatch: dispatch,
|
|
1135
1255
|
domainName: domainName,
|
|
@@ -1137,15 +1257,15 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1137
1257
|
token: token_ls
|
|
1138
1258
|
});
|
|
1139
1259
|
case 5:
|
|
1140
|
-
return
|
|
1260
|
+
return _context6.abrupt("return", _context6.sent);
|
|
1141
1261
|
case 6:
|
|
1142
1262
|
case "end":
|
|
1143
|
-
return
|
|
1263
|
+
return _context6.stop();
|
|
1144
1264
|
}
|
|
1145
|
-
},
|
|
1265
|
+
}, _callee6);
|
|
1146
1266
|
}));
|
|
1147
|
-
return function (
|
|
1148
|
-
return
|
|
1267
|
+
return function (_x2) {
|
|
1268
|
+
return _ref7.apply(this, arguments);
|
|
1149
1269
|
};
|
|
1150
1270
|
}(), [domainName]);
|
|
1151
1271
|
var updateUserWithRedirect = React.useCallback(function () {
|
|
@@ -1155,31 +1275,31 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
1155
1275
|
domainName: domainName
|
|
1156
1276
|
}) + "/" + routes.tenantUpdateUser + "/" + domainName + "/" + token_ls);
|
|
1157
1277
|
}, [domainName, domainName]);
|
|
1158
|
-
var sendEmailVerification = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
1278
|
+
var sendEmailVerification = React.useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
1159
1279
|
var token_ls;
|
|
1160
|
-
return _regeneratorRuntime().wrap(function
|
|
1161
|
-
while (1) switch (
|
|
1280
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1281
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
1162
1282
|
case 0:
|
|
1163
1283
|
token_ls = localStorage.getItem(TOKEN_LS);
|
|
1164
1284
|
if (token_ls) {
|
|
1165
|
-
|
|
1285
|
+
_context7.next = 3;
|
|
1166
1286
|
break;
|
|
1167
1287
|
}
|
|
1168
|
-
return
|
|
1288
|
+
return _context7.abrupt("return", false);
|
|
1169
1289
|
case 3:
|
|
1170
|
-
|
|
1290
|
+
_context7.next = 5;
|
|
1171
1291
|
return sendEmailVerificationAction({
|
|
1172
1292
|
dispatch: dispatch,
|
|
1173
1293
|
domainName: domainName,
|
|
1174
1294
|
token: token_ls
|
|
1175
1295
|
});
|
|
1176
1296
|
case 5:
|
|
1177
|
-
return
|
|
1297
|
+
return _context7.abrupt("return", _context7.sent);
|
|
1178
1298
|
case 6:
|
|
1179
1299
|
case "end":
|
|
1180
|
-
return
|
|
1300
|
+
return _context7.stop();
|
|
1181
1301
|
}
|
|
1182
|
-
},
|
|
1302
|
+
}, _callee7);
|
|
1183
1303
|
})), [domainName]);
|
|
1184
1304
|
var memoProvider = React.useMemo(function () {
|
|
1185
1305
|
return _extends({}, dauthState, {
|
|
@@ -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 name: string;\n lastname: string;\n nickname: string;\n email: string;\n isVerified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n telPrefix: string;\n telSuffix: string;\n createdAt: Date;\n updatedAt: Date;\n lastLogin: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantResendEmailVerification\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantRefreshAccessToken\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n ); \n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${domainName}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\nimport JWT from 'expo-jwt';\n\ninterface DauthProviderProps {\n domainName: string;\n ask: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, ask, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 1);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n if (dauthState.isAuthenticated) return;\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n const verify = JWT.decode(token_ls, ask as string);\n console.log({ verify });\n\n if (token_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({\n dispatch,\n dauth_state_ls: token_ls,\n domainName,\n });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n }, [domainName, domainName]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${domainName}/${token_ls}`\n );\n }, [domainName, domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","ask","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","verify","JWT","decode","useCallback","name","lastname","nickname","telPrefix","telSuffix","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/api/utils/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import { IActionStatus, IDauthDomainState, IDauthState, IDauthUser } from \"./interfaces\";\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 '../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 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 tenantVerifyToken: \"t-verify-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 { routes } from './utils/routes';\nimport { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\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\nexport const verifyTokenAPI = async ({\n domainName,\n ask,\n token,\n}: {\n domainName: string;\n ask: string;\n token: string;\n}): Promise<any> => {\n const params = {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ ask }),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantVerifyToken\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 '../interfaces';\nimport { routes } from '../api/utils/routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.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 from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { verifyTokenAPI } from './api/dauth.api';\nimport { IDauthUser } from './interfaces';\n\ninterface DauthProviderProps {\n domainName: string;\n ask: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, ask, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n \n const verifyToken = useCallback(\n async (token: string) => {\n const verifyToken = await verifyTokenAPI({\n domainName,\n token,\n ask,\n });\n if (verifyToken.response.status !== 200) {\n return action.setLogoutAction({ dispatch });\n }\n },\n [domainName, ask],\n )\n \n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n await verifyToken(token_ls);\n return action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60 * 1);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n await verifyToken(token_url);\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (token_ls && !dauthState.isAuthenticated) {\n await verifyToken(token_ls);\n action.setAutoLoginAction({\n dispatch,\n dauth_state_ls: token_ls,\n domainName,\n });\n }\n })();\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantSignin\n }/${domainName}`\n );\n }, [domainName, 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","tenantVerifyToken","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","verifyTokenAPI","_ref6","_callee5","_ref5","ask","_callee5$","_context5","_x10","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","sendEmailFetch","checkTokenAction","_checkTokenAction","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","verifyToken","useCallback","useEffect","interval","setInterval","clearInterval","queryString","urlParams","token_url","search","URLSearchParams","get","name","lastname","nickname","telPrefix","telSuffix","avatar","_callee7","_callee7$","_context7","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|