@arcblock/did-connect-react 3.2.9 → 3.2.11
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/lib/Session/index.js
CHANGED
|
@@ -844,7 +844,7 @@ function qe(q = Qe, X = "ls", oe = {}, T = {}) {
|
|
|
844
844
|
return /* @__PURE__ */ g(oi, { children: Go ? null : /* @__PURE__ */ g(Jo, {}) });
|
|
845
845
|
const be = {
|
|
846
846
|
locale: b,
|
|
847
|
-
onSwitchPassport: ({ sessionToken: e, refreshToken: o }) => se({ sessionToken: e, refreshToken: o, encrypted: !1 }),
|
|
847
|
+
onSwitchPassport: ({ sessionToken: e, refreshToken: o, csrfToken: i }) => se({ sessionToken: e, refreshToken: o, csrfToken: i, encrypted: !1 }),
|
|
848
848
|
onUnbindOAuth: () => C(),
|
|
849
849
|
onBindOAuth: () => C(),
|
|
850
850
|
onAddPasskey: () => C(),
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsxs as m, jsx as p } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { Confirm as
|
|
4
|
-
import { Box as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { translate as
|
|
8
|
-
import { useMemoizedFn as
|
|
9
|
-
import { createPassportSvg as
|
|
2
|
+
import T from "lodash/pick";
|
|
3
|
+
import { Confirm as k } from "@arcblock/ux/lib/Dialog";
|
|
4
|
+
import { Box as f } from "@mui/material";
|
|
5
|
+
import h from "@arcblock/ux/lib/Toast";
|
|
6
|
+
import F from "@arcblock/ux/lib/CardSelector";
|
|
7
|
+
import { translate as C } from "@arcblock/ux/lib/Locale/util";
|
|
8
|
+
import { useMemoizedFn as R, useCreation as I } from "ahooks";
|
|
9
|
+
import { createPassportSvg as x } from "@arcblock/ux/lib/Util/passport";
|
|
10
10
|
import { ReactGA as P } from "@arcblock/ux/lib/withTracker";
|
|
11
|
-
import
|
|
12
|
-
const
|
|
11
|
+
import B from "../OAuth/guest.svg.js";
|
|
12
|
+
const G = (e) => e ? typeof e == "string" ? { sessionToken: e } : T(e, ["sessionToken", "refreshToken", "visitorId", "destroySessionId", "csrfToken"]) : {}, M = {
|
|
13
13
|
zh: {
|
|
14
14
|
switchPassport: "切换通行证",
|
|
15
15
|
switchPassportFailed: "切换通行证失败",
|
|
@@ -33,12 +33,12 @@ const B = (e) => e ? typeof e == "string" ? { sessionToken: e } : y(e, ["session
|
|
|
33
33
|
getPassportFailed: "Get passports failed"
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
function
|
|
37
|
-
const t =
|
|
36
|
+
function D({ api: e, locale: w, switchState: r, onSwitchPassport: g, session: a }) {
|
|
37
|
+
const t = R((s, i = {}) => C(M, s, w, "en", i)), l = I(() => r.passports.filter((s) => s.role !== r.currentUser?.role), [r.passports, r.currentUser?.role]), S = async () => {
|
|
38
38
|
const s = r.selectedPassport, i = a?.user?.role, v = a?.user?.passports?.find((o) => o.id === s)?.role ?? "guest", d = `${i} -> ${v}`;
|
|
39
39
|
try {
|
|
40
|
-
const { data: o } = await e.post("/switch", { passportId: s }), { sessionToken: c, refreshToken: n } =
|
|
41
|
-
g({ sessionToken: c, refreshToken: n }),
|
|
40
|
+
const { data: o } = await e.post("/switch", { passportId: s }), { sessionToken: c, refreshToken: n, csrfToken: y } = G(o);
|
|
41
|
+
g({ sessionToken: c, refreshToken: n, csrfToken: y }), h.success(t("switchPassportSucceed"));
|
|
42
42
|
const u = {
|
|
43
43
|
action: "switchPassportSuccess",
|
|
44
44
|
change: d,
|
|
@@ -52,11 +52,11 @@ function q({ api: e, locale: w, switchState: r, onSwitchPassport: g, session: a
|
|
|
52
52
|
change: d,
|
|
53
53
|
errorMessage: c
|
|
54
54
|
};
|
|
55
|
-
P.event(n.action, n),
|
|
55
|
+
P.event(n.action, n), h.error(c);
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
return /* @__PURE__ */ m(
|
|
59
|
-
|
|
59
|
+
k,
|
|
60
60
|
{
|
|
61
61
|
open: r.open,
|
|
62
62
|
title: t("switchPassport"),
|
|
@@ -78,7 +78,7 @@ function q({ api: e, locale: w, switchState: r, onSwitchPassport: g, session: a
|
|
|
78
78
|
PaperProps: { style: { width: 600 } },
|
|
79
79
|
children: [
|
|
80
80
|
/* @__PURE__ */ m(
|
|
81
|
-
|
|
81
|
+
f,
|
|
82
82
|
{
|
|
83
83
|
sx: {
|
|
84
84
|
mb: 2
|
|
@@ -90,23 +90,23 @@ function q({ api: e, locale: w, switchState: r, onSwitchPassport: g, session: a
|
|
|
90
90
|
}
|
|
91
91
|
),
|
|
92
92
|
/* @__PURE__ */ p(
|
|
93
|
-
|
|
93
|
+
F,
|
|
94
94
|
{
|
|
95
95
|
width: 160,
|
|
96
96
|
height: 240,
|
|
97
97
|
cardSpace: 24,
|
|
98
98
|
list: [
|
|
99
99
|
// eslint-disable-next-line react/no-unstable-nested-components
|
|
100
|
-
() => /* @__PURE__ */ p(
|
|
100
|
+
() => /* @__PURE__ */ p(B, {}),
|
|
101
101
|
...l.map((s) => s.display ? {
|
|
102
102
|
src: s.display,
|
|
103
103
|
name: s.title
|
|
104
104
|
} : () => /* @__PURE__ */ p(
|
|
105
|
-
|
|
105
|
+
f,
|
|
106
106
|
{
|
|
107
107
|
sx: { width: "100%" },
|
|
108
108
|
dangerouslySetInnerHTML: {
|
|
109
|
-
__html:
|
|
109
|
+
__html: x(s)
|
|
110
110
|
}
|
|
111
111
|
},
|
|
112
112
|
s.id
|
|
@@ -123,6 +123,6 @@ function q({ api: e, locale: w, switchState: r, onSwitchPassport: g, session: a
|
|
|
123
123
|
);
|
|
124
124
|
}
|
|
125
125
|
export {
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
D as PassportSwitcher,
|
|
127
|
+
G as parseResponse
|
|
128
128
|
};
|
package/lib/package.json.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcblock/did-connect-react",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.11",
|
|
4
4
|
"description": "Client side library to work with DID Connect by ArcBlock.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"url": "https://github.com/ArcBlock/ux/issues"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@arcblock/bridge": "3.2.
|
|
35
|
+
"@arcblock/bridge": "3.2.11",
|
|
36
36
|
"@arcblock/did": "^1.27.6",
|
|
37
|
-
"@arcblock/icons": "3.2.
|
|
38
|
-
"@arcblock/react-hooks": "3.2.
|
|
37
|
+
"@arcblock/icons": "3.2.11",
|
|
38
|
+
"@arcblock/react-hooks": "3.2.11",
|
|
39
39
|
"@arcblock/ws": "^1.27.6",
|
|
40
40
|
"@fontsource/lexend": "^5.2.9",
|
|
41
41
|
"@iconify-icons/logos": "^1.2.36",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"eslint-plugin-react-hooks": "^4.6.2",
|
|
81
81
|
"jest": "^29.7.0"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "dec9054be54c799898978686b5d030ed74cae431"
|
|
84
84
|
}
|
package/src/Session/index.jsx
CHANGED
|
@@ -1642,8 +1642,8 @@ function createSessionContext(
|
|
|
1642
1642
|
|
|
1643
1643
|
const providerProps = {
|
|
1644
1644
|
locale: currentLocale,
|
|
1645
|
-
onSwitchPassport: ({ sessionToken, refreshToken }) =>
|
|
1646
|
-
onSwitchPassport({ sessionToken, refreshToken, encrypted: false }),
|
|
1645
|
+
onSwitchPassport: ({ sessionToken, refreshToken, csrfToken }) =>
|
|
1646
|
+
onSwitchPassport({ sessionToken, refreshToken, csrfToken, encrypted: false }),
|
|
1647
1647
|
onUnbindOAuth: () => handleRefreshUser(),
|
|
1648
1648
|
onBindOAuth: () => handleRefreshUser(),
|
|
1649
1649
|
onAddPasskey: () => handleRefreshUser(),
|
|
@@ -23,7 +23,7 @@ export const parseResponse = (data) => {
|
|
|
23
23
|
return { sessionToken: data };
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
return pick(data, ['sessionToken', 'refreshToken', 'visitorId', 'destroySessionId']);
|
|
26
|
+
return pick(data, ['sessionToken', 'refreshToken', 'visitorId', 'destroySessionId', 'csrfToken']);
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const translations = {
|
|
@@ -67,8 +67,8 @@ export function PassportSwitcher({ api, locale, switchState, onSwitchPassport, s
|
|
|
67
67
|
const change = `${fromRole} -> ${toRole}`;
|
|
68
68
|
try {
|
|
69
69
|
const { data } = await api.post('/switch', { passportId });
|
|
70
|
-
const { sessionToken, refreshToken } = parseResponse(data);
|
|
71
|
-
onSwitchPassport({ sessionToken, refreshToken });
|
|
70
|
+
const { sessionToken, refreshToken, csrfToken } = parseResponse(data);
|
|
71
|
+
onSwitchPassport({ sessionToken, refreshToken, csrfToken });
|
|
72
72
|
Toast.success(t('switchPassportSucceed'));
|
|
73
73
|
|
|
74
74
|
/**
|