@0xchain/with-login 1.1.0-beta.62 → 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.
@@ -1 +1 @@
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;AAuCD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,oBAA8C,GAC/C,EAAE,kBAAkB,2CAgHpB;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"}
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
@@ -51,6 +51,20 @@ function resolveThemeNow(resolvedTheme) {
51
51
  function buildAuthUrl(locale, path, theme, redirectUri) {
52
52
  return `${process.env.NEXT_PUBLIC_AUTH_URL}/${locale}/${path}?mode=dialog&theme=${theme}&redirect_uri=${encodeURIComponent(redirectUri)}`;
53
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
+ }
54
68
  function LoginProvider({
55
69
  children,
56
70
  locale: localeProp,
@@ -82,14 +96,21 @@ function LoginProvider({
82
96
  }, []);
83
97
  useEffect(() => {
84
98
  setMounted(true);
99
+ const allowedOrigins = resolveAllowedMessageOrigins();
85
100
  const handleMessage = (event) => {
101
+ if (!allowedOrigins.includes(event.origin)) {
102
+ return;
103
+ }
86
104
  if (event.data?.type === "closeLoginModal") {
87
105
  closeLogin();
88
106
  }
89
107
  if (event.data?.type === "loginSuccess") {
90
108
  const tokens = normalizeTokenPayload(event.data?.data);
91
- if (tokens) {
109
+ const hasCompleteToken = Boolean(tokens?.access_token) && Boolean(tokens?.refresh_token) && typeof tokens?.expires_in === "number";
110
+ if (tokens && hasCompleteToken) {
92
111
  setToken(tokens);
112
+ } else {
113
+ return;
93
114
  }
94
115
  setRuntimeSession({
95
116
  isLoggedIn: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xchain/with-login",
3
- "version": "1.1.0-beta.62",
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/auth": "1.1.0-beta.62",
42
- "@0xchain/i18n": "1.1.0-beta.62",
43
- "@0xchain/token": "1.1.0-beta.62"
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": [