phx-react 1.3.912 → 1.3.913
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.
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
'use client';
|
|
2
3
|
exports.__esModule = true;
|
|
3
4
|
exports.PHXLoginSsoV3 = void 0;
|
|
4
5
|
var tslib_1 = require("tslib");
|
|
@@ -11,43 +12,66 @@ var constants_1 = require("../../utils/constants");
|
|
|
11
12
|
var saveCookiesClient_1 = tslib_1.__importDefault(require("../Func/saveCookiesClient"));
|
|
12
13
|
var getCookieSession_1 = tslib_1.__importDefault(require("../Func/getCookieSession"));
|
|
13
14
|
var PHXLoginSsoV3 = function (props) {
|
|
14
|
-
var onClick = props.onClick, banner = props.banner, dataSession = props.dataSession,
|
|
15
|
+
var onClick = props.onClick, banner = props.banner, dataSession = props.dataSession, redirectPath = props.redirectPath, router = props.router, logo = props.logo;
|
|
15
16
|
var schoolLogo = (0, read_env_config_1.getEnv)('NEXT_PUBLIC_ENV_LOGIN_LOGO', process.env.NEXT_PUBLIC_ENV_LOGIN_LOGO);
|
|
17
|
+
var publicUrl = (0, read_env_config_1.getEnv)('NEXT_PUBLIC_API_GATEWAY', process.env.NEXT_PUBLIC_API_GATEWAY);
|
|
16
18
|
var _a = (0, react_1.useState)(false), loading = _a[0], setLoading = _a[1];
|
|
17
19
|
var _b = (0, react_1.useState)(false), error = _b[0], setError = _b[1];
|
|
18
|
-
var sessionCookie = (0, getCookieSession_1["default"])();
|
|
20
|
+
var sessionCookie = (0, react_1.useRef)((0, getCookieSession_1["default"])());
|
|
19
21
|
var handlerOnClick = function () {
|
|
20
22
|
setLoading(true);
|
|
21
23
|
onClick();
|
|
22
24
|
};
|
|
25
|
+
var saveRefreshTokenSso = function (refreshToken) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
26
|
+
return tslib_1.__generator(this, function (_a) {
|
|
27
|
+
switch (_a.label) {
|
|
28
|
+
case 0: return [4 /*yield*/, fetch("".concat(publicUrl, "/auth/set-token"), {
|
|
29
|
+
headers: {
|
|
30
|
+
'Content-Type': 'application/json'
|
|
31
|
+
},
|
|
32
|
+
method: 'post',
|
|
33
|
+
body: JSON.stringify({
|
|
34
|
+
refreshToken: refreshToken
|
|
35
|
+
}),
|
|
36
|
+
credentials: 'include'
|
|
37
|
+
})];
|
|
38
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}); };
|
|
23
42
|
var handlerSaveCookies = function (session) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
24
|
-
var token, userInfo, accessToken;
|
|
43
|
+
var token, userInfo, accessToken, refreshToken;
|
|
25
44
|
var _a;
|
|
26
45
|
return tslib_1.__generator(this, function (_b) {
|
|
27
46
|
switch (_b.label) {
|
|
28
47
|
case 0:
|
|
29
48
|
token = session.data.token;
|
|
30
|
-
userInfo = token.userInfo, accessToken = token.token;
|
|
31
|
-
if (!(userInfo && ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_roles) === null || _a === void 0 ? void 0 : _a[0].role.role_code))) return [3 /*break*/,
|
|
49
|
+
userInfo = token.userInfo, accessToken = token.token, refreshToken = token.refreshToken;
|
|
50
|
+
if (!(userInfo && ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_roles) === null || _a === void 0 ? void 0 : _a[0].role.role_code))) return [3 /*break*/, 3];
|
|
32
51
|
// ghi nhớ tài khoản
|
|
33
52
|
(0, saveCookiesClient_1["default"])({ value: tslib_1.__assign(tslib_1.__assign({}, sessionCookie), { user_info: userInfo, access_token: accessToken }) });
|
|
34
|
-
|
|
53
|
+
// save refresh token after login sso success
|
|
54
|
+
return [4 /*yield*/, saveRefreshTokenSso(refreshToken)];
|
|
35
55
|
case 1:
|
|
56
|
+
// save refresh token after login sso success
|
|
36
57
|
_b.sent();
|
|
37
|
-
|
|
38
|
-
return [3 /*break*/, 3];
|
|
58
|
+
return [4 /*yield*/, dataSession.update({ name: null })];
|
|
39
59
|
case 2:
|
|
60
|
+
_b.sent();
|
|
61
|
+
router === null || router === void 0 ? void 0 : router.push(redirectPath);
|
|
62
|
+
return [3 /*break*/, 4];
|
|
63
|
+
case 3:
|
|
40
64
|
setError(true);
|
|
41
65
|
setLoading(false);
|
|
42
|
-
_b.label =
|
|
43
|
-
case
|
|
66
|
+
_b.label = 4;
|
|
67
|
+
case 4: return [2 /*return*/];
|
|
44
68
|
}
|
|
45
69
|
});
|
|
46
70
|
}); };
|
|
47
71
|
var handlerCheckLogin = function () {
|
|
48
|
-
var _a, _b;
|
|
49
|
-
if (!sessionCookie || !(sessionCookie === null ||
|
|
50
|
-
if (dataSession.status === constants_1.AUTHENTICATED && ((
|
|
72
|
+
var _a, _b, _c;
|
|
73
|
+
if (!sessionCookie.current || !((_a = sessionCookie.current) === null || _a === void 0 ? void 0 : _a.access_token)) {
|
|
74
|
+
if (dataSession.status === constants_1.AUTHENTICATED && ((_c = (_b = dataSession === null || dataSession === void 0 ? void 0 : dataSession.data) === null || _b === void 0 ? void 0 : _b.session.user) === null || _c === void 0 ? void 0 : _c.name)) {
|
|
51
75
|
setLoading(true);
|
|
52
76
|
handlerSaveCookies(dataSession);
|
|
53
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-sso-v3.js","sourceRoot":"","sources":["../../../../src/components/LoginSsoV3/login-sso-v3.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login-sso-v3.js","sourceRoot":"","sources":["../../../../src/components/LoginSsoV3/login-sso-v3.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
-
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
3
4
|
import { PHXSkeleton } from '../Skeleton';
|
|
4
5
|
import { PHXButton } from '../Button';
|
|
5
6
|
import { PHXBanner } from '../Banner';
|
|
@@ -8,43 +9,66 @@ import { AUTHENTICATED } from '../../utils/constants';
|
|
|
8
9
|
import saveCookiesClient from '../Func/saveCookiesClient';
|
|
9
10
|
import PHXFuncGetCookieSession from '../Func/getCookieSession';
|
|
10
11
|
export var PHXLoginSsoV3 = function (props) {
|
|
11
|
-
var onClick = props.onClick, banner = props.banner, dataSession = props.dataSession,
|
|
12
|
+
var onClick = props.onClick, banner = props.banner, dataSession = props.dataSession, redirectPath = props.redirectPath, router = props.router, logo = props.logo;
|
|
12
13
|
var schoolLogo = getEnv('NEXT_PUBLIC_ENV_LOGIN_LOGO', process.env.NEXT_PUBLIC_ENV_LOGIN_LOGO);
|
|
14
|
+
var publicUrl = getEnv('NEXT_PUBLIC_API_GATEWAY', process.env.NEXT_PUBLIC_API_GATEWAY);
|
|
13
15
|
var _a = useState(false), loading = _a[0], setLoading = _a[1];
|
|
14
16
|
var _b = useState(false), error = _b[0], setError = _b[1];
|
|
15
|
-
var sessionCookie = PHXFuncGetCookieSession();
|
|
17
|
+
var sessionCookie = useRef(PHXFuncGetCookieSession());
|
|
16
18
|
var handlerOnClick = function () {
|
|
17
19
|
setLoading(true);
|
|
18
20
|
onClick();
|
|
19
21
|
};
|
|
22
|
+
var saveRefreshTokenSso = function (refreshToken) { return __awaiter(void 0, void 0, void 0, function () {
|
|
23
|
+
return __generator(this, function (_a) {
|
|
24
|
+
switch (_a.label) {
|
|
25
|
+
case 0: return [4 /*yield*/, fetch("".concat(publicUrl, "/auth/set-token"), {
|
|
26
|
+
headers: {
|
|
27
|
+
'Content-Type': 'application/json'
|
|
28
|
+
},
|
|
29
|
+
method: 'post',
|
|
30
|
+
body: JSON.stringify({
|
|
31
|
+
refreshToken: refreshToken
|
|
32
|
+
}),
|
|
33
|
+
credentials: 'include'
|
|
34
|
+
})];
|
|
35
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}); };
|
|
20
39
|
var handlerSaveCookies = function (session) { return __awaiter(void 0, void 0, void 0, function () {
|
|
21
|
-
var token, userInfo, accessToken;
|
|
40
|
+
var token, userInfo, accessToken, refreshToken;
|
|
22
41
|
var _a;
|
|
23
42
|
return __generator(this, function (_b) {
|
|
24
43
|
switch (_b.label) {
|
|
25
44
|
case 0:
|
|
26
45
|
token = session.data.token;
|
|
27
|
-
userInfo = token.userInfo, accessToken = token.token;
|
|
28
|
-
if (!(userInfo && ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_roles) === null || _a === void 0 ? void 0 : _a[0].role.role_code))) return [3 /*break*/,
|
|
46
|
+
userInfo = token.userInfo, accessToken = token.token, refreshToken = token.refreshToken;
|
|
47
|
+
if (!(userInfo && ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo.user_roles) === null || _a === void 0 ? void 0 : _a[0].role.role_code))) return [3 /*break*/, 3];
|
|
29
48
|
// ghi nhớ tài khoản
|
|
30
49
|
saveCookiesClient({ value: __assign(__assign({}, sessionCookie), { user_info: userInfo, access_token: accessToken }) });
|
|
31
|
-
|
|
50
|
+
// save refresh token after login sso success
|
|
51
|
+
return [4 /*yield*/, saveRefreshTokenSso(refreshToken)];
|
|
32
52
|
case 1:
|
|
53
|
+
// save refresh token after login sso success
|
|
33
54
|
_b.sent();
|
|
34
|
-
|
|
35
|
-
return [3 /*break*/, 3];
|
|
55
|
+
return [4 /*yield*/, dataSession.update({ name: null })];
|
|
36
56
|
case 2:
|
|
57
|
+
_b.sent();
|
|
58
|
+
router === null || router === void 0 ? void 0 : router.push(redirectPath);
|
|
59
|
+
return [3 /*break*/, 4];
|
|
60
|
+
case 3:
|
|
37
61
|
setError(true);
|
|
38
62
|
setLoading(false);
|
|
39
|
-
_b.label =
|
|
40
|
-
case
|
|
63
|
+
_b.label = 4;
|
|
64
|
+
case 4: return [2 /*return*/];
|
|
41
65
|
}
|
|
42
66
|
});
|
|
43
67
|
}); };
|
|
44
68
|
var handlerCheckLogin = function () {
|
|
45
|
-
var _a, _b;
|
|
46
|
-
if (!sessionCookie || !(sessionCookie === null ||
|
|
47
|
-
if (dataSession.status === AUTHENTICATED && ((
|
|
69
|
+
var _a, _b, _c;
|
|
70
|
+
if (!sessionCookie.current || !((_a = sessionCookie.current) === null || _a === void 0 ? void 0 : _a.access_token)) {
|
|
71
|
+
if (dataSession.status === AUTHENTICATED && ((_c = (_b = dataSession === null || dataSession === void 0 ? void 0 : dataSession.data) === null || _b === void 0 ? void 0 : _b.session.user) === null || _c === void 0 ? void 0 : _c.name)) {
|
|
48
72
|
setLoading(true);
|
|
49
73
|
handlerSaveCookies(dataSession);
|
|
50
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-sso-v3.js","sourceRoot":"","sources":["../../../../src/components/LoginSsoV3/login-sso-v3.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login-sso-v3.js","sourceRoot":"","sources":["../../../../src/components/LoginSsoV3/login-sso-v3.tsx"],"names":[],"mappings":"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"}
|