@0xchain/auth 1.1.0-beta.62 → 1.1.0-beta.64
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.js +9 -34
- package/dist/loginApi/index.d.ts.map +1 -1
- package/dist/loginApi.js +1 -2
- package/dist/session.d.ts +5 -11
- package/dist/session.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,44 +1,19 @@
|
|
|
1
1
|
import request from "@0xchain/request";
|
|
2
2
|
import { default as default2 } from "./loginApi.js";
|
|
3
|
-
import { removeAllToken } from "@0xchain/token";
|
|
4
|
-
import { default as default3 } from "@0xchain/token";
|
|
3
|
+
import { envCookieName, decodeJwtPayload, isJwtExpired, removeAllToken } from "@0xchain/token";
|
|
4
|
+
import { default as default3, decodeJwtPayload as decodeJwtPayload2, isJwtExpired as isJwtExpired2 } from "@0xchain/token";
|
|
5
5
|
import cookies from "js-cookie";
|
|
6
|
-
const ACCESS_TOKEN_COOKIE_KEYS = [
|
|
7
|
-
|
|
6
|
+
const ACCESS_TOKEN_COOKIE_KEYS = [
|
|
7
|
+
envCookieName("access_token"),
|
|
8
|
+
envCookieName("id_token")
|
|
9
|
+
];
|
|
10
|
+
const REFRESH_TOKEN_COOKIE_KEYS = [envCookieName("refresh_token")];
|
|
8
11
|
const AUTH_COOKIE_KEYS = [
|
|
9
12
|
...ACCESS_TOKEN_COOKIE_KEYS,
|
|
10
13
|
...REFRESH_TOKEN_COOKIE_KEYS
|
|
11
14
|
];
|
|
12
15
|
const AUTH_SESSION_KEY = "__AUTH_SESSION__";
|
|
13
16
|
const SESSION_STORAGE_KEY = "auth:session";
|
|
14
|
-
function base64UrlDecode(input) {
|
|
15
|
-
const normalized = input.replace(/-/g, "+").replace(/_/g, "/");
|
|
16
|
-
const padLength = (4 - normalized.length % 4) % 4;
|
|
17
|
-
const padded = normalized + "=".repeat(padLength);
|
|
18
|
-
if (typeof window !== "undefined" && typeof window.atob === "function") {
|
|
19
|
-
const binary = window.atob(padded);
|
|
20
|
-
const bytes = Uint8Array.from(binary, (char) => char.charCodeAt(0));
|
|
21
|
-
return new TextDecoder().decode(bytes);
|
|
22
|
-
}
|
|
23
|
-
return Buffer.from(padded, "base64").toString("utf8");
|
|
24
|
-
}
|
|
25
|
-
function decodeJwtPayload(token) {
|
|
26
|
-
if (!token) return null;
|
|
27
|
-
const parts = token.split(".");
|
|
28
|
-
if (parts.length < 2) return null;
|
|
29
|
-
try {
|
|
30
|
-
const payloadJson = base64UrlDecode(parts[1]);
|
|
31
|
-
return JSON.parse(payloadJson);
|
|
32
|
-
} catch {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function isJwtExpired(payload, options) {
|
|
37
|
-
if (!payload?.exp) return false;
|
|
38
|
-
const skew = options?.skewSeconds ?? 15;
|
|
39
|
-
const now = Math.floor(Date.now() / 1e3);
|
|
40
|
-
return payload.exp <= now + skew;
|
|
41
|
-
}
|
|
42
17
|
function pickToken(getter, keys) {
|
|
43
18
|
for (const key of keys) {
|
|
44
19
|
const value = getter(key);
|
|
@@ -155,13 +130,13 @@ export {
|
|
|
155
130
|
createSessionFromCookieGetter,
|
|
156
131
|
createSessionFromCookieHeader,
|
|
157
132
|
createSessionFromTokens,
|
|
158
|
-
decodeJwtPayload,
|
|
133
|
+
decodeJwtPayload2 as decodeJwtPayload,
|
|
159
134
|
fetchClientSession,
|
|
160
135
|
fetchUserProfile,
|
|
161
136
|
getClientSession,
|
|
162
137
|
getRuntimeLoginState,
|
|
163
138
|
getRuntimeSession,
|
|
164
|
-
isJwtExpired,
|
|
139
|
+
isJwtExpired2 as isJwtExpired,
|
|
165
140
|
logout,
|
|
166
141
|
setRuntimeSession
|
|
167
142
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loginApi/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAiC,MAAM,QAAQ,CAAA;AAGjE,QAAA,MAAM,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loginApi/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAiC,MAAM,QAAQ,CAAA;AAGjE,QAAA,MAAM,QAAQ,EAAE,SA0Bf,CAAA;AACD,eAAe,QAAQ,CAAA"}
|
package/dist/loginApi.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import request from "@0xchain/request";
|
|
2
2
|
import cookies from "js-cookie";
|
|
3
|
-
import { getToken
|
|
3
|
+
import { getToken } from "@0xchain/token";
|
|
4
4
|
const loginApi = {
|
|
5
5
|
login: (data) => {
|
|
6
|
-
removeAllToken();
|
|
7
6
|
return request.post(`/api/login/email`, data, {
|
|
8
7
|
baseURL: process.env.NEXT_PUBLIC_AUTH_URL
|
|
9
8
|
});
|
package/dist/session.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export declare const
|
|
1
|
+
import { decodeJwtPayload, isJwtExpired } from '@0xchain/token';
|
|
2
|
+
export { decodeJwtPayload, isJwtExpired };
|
|
3
|
+
export declare const ACCESS_TOKEN_COOKIE_KEYS: readonly [string, string];
|
|
4
|
+
export declare const REFRESH_TOKEN_COOKIE_KEYS: readonly [string];
|
|
5
|
+
export declare const AUTH_COOKIE_KEYS: readonly [string, string, string];
|
|
4
6
|
export type AuthSession = {
|
|
5
7
|
isLoggedIn: boolean;
|
|
6
8
|
hasAccessToken: boolean;
|
|
@@ -8,13 +10,6 @@ export type AuthSession = {
|
|
|
8
10
|
accessTokenExpired: boolean;
|
|
9
11
|
claims: Record<string, unknown> | null;
|
|
10
12
|
};
|
|
11
|
-
type JwtPayload = Record<string, unknown> & {
|
|
12
|
-
exp?: number;
|
|
13
|
-
};
|
|
14
|
-
export declare function decodeJwtPayload(token?: string | null): JwtPayload | null;
|
|
15
|
-
export declare function isJwtExpired(payload: JwtPayload | null, options?: {
|
|
16
|
-
skewSeconds?: number;
|
|
17
|
-
}): boolean;
|
|
18
13
|
export declare function createSessionFromTokens({ accessToken, refreshToken, }: {
|
|
19
14
|
accessToken?: string | null;
|
|
20
15
|
refreshToken?: string | null;
|
|
@@ -26,5 +21,4 @@ export declare function fetchClientSession(signal?: AbortSignal, sessionUrl?: st
|
|
|
26
21
|
export declare function setRuntimeSession(session: AuthSession): void;
|
|
27
22
|
export declare function getRuntimeSession(): AuthSession | null;
|
|
28
23
|
export declare function getRuntimeLoginState(): boolean | null;
|
|
29
|
-
export {};
|
|
30
24
|
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AAI1C,eAAO,MAAM,wBAAwB,2BAG3B,CAAC;AACX,eAAO,MAAM,yBAAyB,mBAA4C,CAAC;AACnF,eAAO,MAAM,gBAAgB,mCAGnB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACxC,CAAC;AAoBF,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,YAAY,GACb,EAAE;IACD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,WAAW,CAYd;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACrC,WAAW,CAIb;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAW/E;AAED,wBAAgB,gBAAgB,IAAI,WAAW,CAE9C;AAED,wBAAsB,kBAAkB,CACtC,MAAM,CAAC,EAAE,WAAW,EACpB,UAAU,SAAsB,GAC/B,OAAO,CAAC,WAAW,CAAC,CAWtB;AAOD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAQ5D;AAED,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAUtD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,GAAG,IAAI,CAIrD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xchain/auth",
|
|
3
|
-
"version": "1.1.0-beta.
|
|
3
|
+
"version": "1.1.0-beta.64",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"js-cookie": "3.0.5"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@0xchain/request": "1.1.0-beta.
|
|
34
|
-
"@0xchain/token": "1.1.0-beta.
|
|
33
|
+
"@0xchain/request": "1.1.0-beta.64",
|
|
34
|
+
"@0xchain/token": "1.1.0-beta.64"
|
|
35
35
|
},
|
|
36
36
|
"nx": {
|
|
37
37
|
"tags": [
|