@0xchain/with-login 1.1.0-beta.61 → 1.1.0-beta.63
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/index.d.ts.map +1 -1
- package/dist/index.js +29 -16
- package/package.json +4 -4
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAON,MAAM,OAAO,CAAC;AAYf,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAMvB,eAAO,MAAM,OAAO,eAInB,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,iBAAiB,oBAAoB;IACrC,aAAa,iBAAiB;CAC/B;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,4BAA4B,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC;CACpF;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAuDD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,oBAA8C,GAC/C,EAAE,kBAAkB,2CA0HpB;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C;AAED,UAAU,cACR,SAAQ,KAAK,CAAC,iBAAiB,EAC7B,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,kDAcvE;AAED,eAAe,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,23 +5,15 @@ import { useLocale } from "@0xchain/i18n/react";
|
|
|
5
5
|
import { twMerge } from "tailwind-merge";
|
|
6
6
|
import { useTheme } from "@0xchain/next-themes";
|
|
7
7
|
import Cookies from "js-cookie";
|
|
8
|
-
import { getRuntimeLoginState,
|
|
9
|
-
import { ACCESS_TOKEN_COOKIE_KEYS
|
|
8
|
+
import { getRuntimeLoginState, getClientSession, setRuntimeSession } from "@0xchain/auth";
|
|
9
|
+
import { ACCESS_TOKEN_COOKIE_KEYS, REFRESH_TOKEN_COOKIE_KEYS, getRuntimeLoginState as getRuntimeLoginState2, setRuntimeSession as setRuntimeSession2 } from "@0xchain/auth";
|
|
10
10
|
import { normalizeTokenPayload, setToken } from "@0xchain/token";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const value = Cookies.get(key);
|
|
14
|
-
if (value) return value;
|
|
15
|
-
}
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
const hasRefreshToken = () => !!pickCookieValue(REFRESH_TOKEN_COOKIE_KEYS);
|
|
19
|
-
const hasAccessToken = () => !!pickCookieValue(ACCESS_TOKEN_COOKIE_KEYS);
|
|
20
|
-
const hasAnyToken = () => hasRefreshToken() || hasAccessToken();
|
|
11
|
+
const hasAccessToken = () => getClientSession().hasAccessToken;
|
|
12
|
+
const hasRefreshToken = () => getClientSession().hasRefreshToken;
|
|
21
13
|
const isLogin = () => {
|
|
22
14
|
const runtime = getRuntimeLoginState();
|
|
23
15
|
if (typeof runtime === "boolean") return runtime;
|
|
24
|
-
return
|
|
16
|
+
return getClientSession().isLoggedIn;
|
|
25
17
|
};
|
|
26
18
|
var LoginMessageType = /* @__PURE__ */ ((LoginMessageType2) => {
|
|
27
19
|
LoginMessageType2["CLOSE_LOGIN_MODAL"] = "closeLoginModal";
|
|
@@ -59,6 +51,20 @@ function resolveThemeNow(resolvedTheme) {
|
|
|
59
51
|
function buildAuthUrl(locale, path, theme, redirectUri) {
|
|
60
52
|
return `${process.env.NEXT_PUBLIC_AUTH_URL}/${locale}/${path}?mode=dialog&theme=${theme}&redirect_uri=${encodeURIComponent(redirectUri)}`;
|
|
61
53
|
}
|
|
54
|
+
function resolveAllowedMessageOrigins() {
|
|
55
|
+
const origins = [];
|
|
56
|
+
if (typeof window !== "undefined" && window.location?.origin) {
|
|
57
|
+
origins.push(window.location.origin);
|
|
58
|
+
}
|
|
59
|
+
const authUrl = process.env.NEXT_PUBLIC_AUTH_URL;
|
|
60
|
+
if (authUrl) {
|
|
61
|
+
try {
|
|
62
|
+
origins.push(new URL(authUrl).origin);
|
|
63
|
+
} catch {
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return Array.from(new Set(origins));
|
|
67
|
+
}
|
|
62
68
|
function LoginProvider({
|
|
63
69
|
children,
|
|
64
70
|
locale: localeProp,
|
|
@@ -90,14 +96,21 @@ function LoginProvider({
|
|
|
90
96
|
}, []);
|
|
91
97
|
useEffect(() => {
|
|
92
98
|
setMounted(true);
|
|
99
|
+
const allowedOrigins = resolveAllowedMessageOrigins();
|
|
93
100
|
const handleMessage = (event) => {
|
|
101
|
+
if (!allowedOrigins.includes(event.origin)) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
94
104
|
if (event.data?.type === "closeLoginModal") {
|
|
95
105
|
closeLogin();
|
|
96
106
|
}
|
|
97
107
|
if (event.data?.type === "loginSuccess") {
|
|
98
108
|
const tokens = normalizeTokenPayload(event.data?.data);
|
|
99
|
-
|
|
109
|
+
const hasCompleteToken = Boolean(tokens?.access_token) && Boolean(tokens?.refresh_token) && typeof tokens?.expires_in === "number";
|
|
110
|
+
if (tokens && hasCompleteToken) {
|
|
100
111
|
setToken(tokens);
|
|
112
|
+
} else {
|
|
113
|
+
return;
|
|
101
114
|
}
|
|
102
115
|
setRuntimeSession({
|
|
103
116
|
isLoggedIn: true,
|
|
@@ -182,11 +195,11 @@ function WithLogin({ children, onClick, ...rest }) {
|
|
|
182
195
|
return /* @__PURE__ */ jsx(Trigger, { ...rest, children });
|
|
183
196
|
}
|
|
184
197
|
export {
|
|
185
|
-
|
|
198
|
+
ACCESS_TOKEN_COOKIE_KEYS,
|
|
186
199
|
LoginMessageType,
|
|
187
200
|
LoginProvider,
|
|
188
201
|
OpenLoginType,
|
|
189
|
-
|
|
202
|
+
REFRESH_TOKEN_COOKIE_KEYS,
|
|
190
203
|
WithLogin,
|
|
191
204
|
WithLogin as default,
|
|
192
205
|
getRuntimeLoginState2 as getRuntimeLoginState,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xchain/with-login",
|
|
3
|
-
"version": "1.1.0-beta.
|
|
3
|
+
"version": "1.1.0-beta.63",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"tailwind-merge": "3.3.1"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@0xchain/
|
|
42
|
-
"@0xchain/
|
|
43
|
-
"@0xchain/
|
|
41
|
+
"@0xchain/token": "1.1.0-beta.63",
|
|
42
|
+
"@0xchain/i18n": "1.1.0-beta.63",
|
|
43
|
+
"@0xchain/auth": "1.1.0-beta.63"
|
|
44
44
|
},
|
|
45
45
|
"nx": {
|
|
46
46
|
"tags": [
|