@coinbase/cdp-core 0.0.32 → 0.0.33
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/esm/index.native.js +40 -38
- package/dist/esm/index.native10.js +115 -21
- package/dist/esm/index.native100.js +6 -9
- package/dist/esm/index.native101.js +11 -13
- package/dist/esm/index.native102.js +11 -8
- package/dist/esm/index.native103.js +7 -14
- package/dist/esm/index.native104.js +16 -80
- package/dist/esm/index.native105.js +79 -11
- package/dist/esm/index.native106.js +12 -35
- package/dist/esm/index.native107.js +35 -41
- package/dist/esm/index.native108.js +38 -75
- package/dist/esm/index.native109.js +81 -0
- package/dist/esm/index.native11.js +20 -30
- package/dist/esm/index.native12.js +30 -7
- package/dist/esm/index.native13.js +9 -15
- package/dist/esm/index.native14.js +14 -15
- package/dist/esm/index.native15.js +13 -116
- package/dist/esm/index.native16.js +116 -11
- package/dist/esm/index.native17.js +14 -42
- package/dist/esm/index.native18.js +42 -20
- package/dist/esm/index.native19.js +20 -172
- package/dist/esm/index.native2.js +3 -3
- package/dist/esm/index.native20.js +170 -39
- package/dist/esm/index.native21.js +41 -49
- package/dist/esm/index.native22.js +47 -70
- package/dist/esm/index.native23.js +69 -23
- package/dist/esm/index.native24.js +22 -156
- package/dist/esm/index.native25.js +157 -45
- package/dist/esm/index.native26.js +43 -245
- package/dist/esm/index.native27.js +247 -53
- package/dist/esm/index.native28.js +56 -17
- package/dist/esm/index.native29.js +15 -21
- package/dist/esm/index.native3.js +40 -30
- package/dist/esm/index.native30.js +21 -49
- package/dist/esm/index.native31.js +50 -8
- package/dist/esm/index.native32.js +8 -17
- package/dist/esm/index.native33.js +16 -44
- package/dist/esm/index.native34.js +45 -13
- package/dist/esm/index.native35.js +13 -55
- package/dist/esm/index.native36.js +55 -6
- package/dist/esm/index.native37.js +6 -21
- package/dist/esm/index.native38.js +21 -11
- package/dist/esm/index.native39.js +11 -3
- package/dist/esm/index.native4.js +67 -21
- package/dist/esm/index.native40.js +3 -3
- package/dist/esm/index.native41.js +3 -34
- package/dist/esm/index.native42.js +32 -10
- package/dist/esm/index.native43.js +12 -4
- package/dist/esm/index.native44.js +4 -28
- package/dist/esm/index.native45.js +28 -6
- package/dist/esm/index.native46.js +6 -24
- package/dist/esm/index.native47.js +24 -16
- package/dist/esm/index.native48.js +16 -54
- package/dist/esm/index.native49.js +53 -22
- package/dist/esm/index.native5.js +21 -254
- package/dist/esm/index.native50.js +23 -11
- package/dist/esm/index.native51.js +10 -26
- package/dist/esm/index.native52.js +26 -41
- package/dist/esm/index.native53.js +41 -54
- package/dist/esm/index.native54.js +54 -126
- package/dist/esm/index.native55.js +126 -11
- package/dist/esm/index.native56.js +9 -101
- package/dist/esm/index.native57.js +104 -6
- package/dist/esm/index.native58.js +7 -3
- package/dist/esm/index.native59.js +3 -15
- package/dist/esm/index.native6.js +262 -176
- package/dist/esm/index.native60.js +14 -42
- package/dist/esm/index.native61.js +38 -74
- package/dist/esm/index.native62.js +79 -2
- package/dist/esm/index.native63.js +2 -2
- package/dist/esm/index.native64.js +2 -13
- package/dist/esm/index.native65.js +8 -33
- package/dist/esm/index.native66.js +36 -5
- package/dist/esm/index.native67.js +5 -33
- package/dist/esm/index.native68.js +34 -8
- package/dist/esm/index.native69.js +8 -10
- package/dist/esm/index.native7.js +213 -115
- package/dist/esm/index.native70.js +10 -11
- package/dist/esm/index.native71.js +11 -13
- package/dist/esm/index.native72.js +13 -18
- package/dist/esm/index.native73.js +18 -5
- package/dist/esm/index.native74.js +6 -5
- package/dist/esm/index.native75.js +5 -11
- package/dist/esm/index.native76.js +10 -54
- package/dist/esm/index.native77.js +54 -10
- package/dist/esm/index.native78.js +11 -2
- package/dist/esm/index.native79.js +2 -45
- package/dist/esm/index.native8.js +115 -137
- package/dist/esm/index.native80.js +44 -13
- package/dist/esm/index.native81.js +14 -2
- package/dist/esm/index.native82.js +1 -1
- package/dist/esm/index.native83.js +2 -20
- package/dist/esm/index.native84.js +103 -79
- package/dist/esm/index.native85.js +18 -102
- package/dist/esm/index.native86.js +79 -32
- package/dist/esm/index.native87.js +32 -6
- package/dist/esm/index.native88.js +6 -78
- package/dist/esm/index.native89.js +2 -2
- package/dist/esm/index.native9.js +138 -113
- package/dist/esm/index.native90.js +3 -3
- package/dist/esm/index.native92.js +3 -3
- package/dist/esm/index.native93.js +1 -1
- package/dist/esm/index.native94.js +3 -3
- package/dist/esm/index.native95.js +79 -10
- package/dist/esm/index.native96.js +10 -5
- package/dist/esm/index.native97.js +5 -18
- package/dist/esm/index.native98.js +18 -28
- package/dist/esm/index.native99.js +26 -6
- package/dist/esm/index.web100.js +13 -28
- package/dist/esm/index.web101.js +10 -8
- package/dist/esm/index.web102.js +17 -11
- package/dist/esm/index.web103.js +80 -12
- package/dist/esm/index.web104.js +13 -10
- package/dist/esm/index.web105.js +36 -17
- package/dist/esm/index.web106.js +40 -79
- package/dist/esm/index.web26.js +1 -1
- package/dist/esm/index.web5.js +131 -109
- package/dist/esm/index.web6.js +65 -38
- package/dist/esm/index.web75.js +6 -6
- package/dist/esm/index.web84.js +1 -1
- package/dist/esm/index.web87.js +21 -10
- package/dist/esm/index.web88.js +10 -79
- package/dist/esm/index.web89.js +19 -20
- package/dist/esm/index.web90.js +93 -9
- package/dist/esm/index.web91.js +19 -18
- package/dist/esm/index.web92.js +105 -81
- package/dist/esm/index.web93.js +78 -20
- package/dist/esm/index.web94.js +9 -117
- package/dist/esm/index.web96.js +18 -13
- package/dist/esm/index.web97.js +27 -35
- package/dist/esm/index.web98.js +7 -41
- package/dist/esm/index.web99.js +11 -18
- package/dist/native/index.native.js +40 -38
- package/dist/native/index.native10.js +115 -21
- package/dist/native/index.native100.js +6 -9
- package/dist/native/index.native101.js +11 -13
- package/dist/native/index.native102.js +11 -8
- package/dist/native/index.native103.js +7 -14
- package/dist/native/index.native104.js +16 -80
- package/dist/native/index.native105.js +79 -11
- package/dist/native/index.native106.js +12 -35
- package/dist/native/index.native107.js +35 -41
- package/dist/native/index.native108.js +38 -75
- package/dist/native/index.native109.js +81 -0
- package/dist/native/index.native11.js +20 -30
- package/dist/native/index.native12.js +30 -7
- package/dist/native/index.native13.js +9 -15
- package/dist/native/index.native14.js +14 -15
- package/dist/native/index.native15.js +13 -116
- package/dist/native/index.native16.js +116 -11
- package/dist/native/index.native17.js +14 -42
- package/dist/native/index.native18.js +42 -20
- package/dist/native/index.native19.js +20 -172
- package/dist/native/index.native2.js +3 -3
- package/dist/native/index.native20.js +170 -39
- package/dist/native/index.native21.js +41 -49
- package/dist/native/index.native22.js +47 -70
- package/dist/native/index.native23.js +69 -23
- package/dist/native/index.native24.js +22 -156
- package/dist/native/index.native25.js +157 -45
- package/dist/native/index.native26.js +43 -245
- package/dist/native/index.native27.js +247 -53
- package/dist/native/index.native28.js +56 -17
- package/dist/native/index.native29.js +15 -21
- package/dist/native/index.native3.js +40 -30
- package/dist/native/index.native30.js +21 -49
- package/dist/native/index.native31.js +50 -8
- package/dist/native/index.native32.js +8 -17
- package/dist/native/index.native33.js +16 -44
- package/dist/native/index.native34.js +45 -13
- package/dist/native/index.native35.js +13 -55
- package/dist/native/index.native36.js +55 -6
- package/dist/native/index.native37.js +6 -21
- package/dist/native/index.native38.js +21 -11
- package/dist/native/index.native39.js +11 -3
- package/dist/native/index.native4.js +67 -21
- package/dist/native/index.native40.js +3 -3
- package/dist/native/index.native41.js +3 -34
- package/dist/native/index.native42.js +32 -10
- package/dist/native/index.native43.js +12 -4
- package/dist/native/index.native44.js +4 -28
- package/dist/native/index.native45.js +28 -6
- package/dist/native/index.native46.js +6 -24
- package/dist/native/index.native47.js +24 -16
- package/dist/native/index.native48.js +16 -54
- package/dist/native/index.native49.js +53 -22
- package/dist/native/index.native5.js +21 -254
- package/dist/native/index.native50.js +23 -11
- package/dist/native/index.native51.js +10 -26
- package/dist/native/index.native52.js +26 -41
- package/dist/native/index.native53.js +41 -54
- package/dist/native/index.native54.js +54 -126
- package/dist/native/index.native55.js +126 -11
- package/dist/native/index.native56.js +9 -101
- package/dist/native/index.native57.js +104 -6
- package/dist/native/index.native58.js +7 -3
- package/dist/native/index.native59.js +3 -15
- package/dist/native/index.native6.js +262 -176
- package/dist/native/index.native60.js +14 -42
- package/dist/native/index.native61.js +38 -74
- package/dist/native/index.native62.js +79 -2
- package/dist/native/index.native63.js +2 -2
- package/dist/native/index.native64.js +2 -13
- package/dist/native/index.native65.js +8 -33
- package/dist/native/index.native66.js +36 -5
- package/dist/native/index.native67.js +5 -33
- package/dist/native/index.native68.js +34 -8
- package/dist/native/index.native69.js +8 -10
- package/dist/native/index.native7.js +213 -115
- package/dist/native/index.native70.js +10 -11
- package/dist/native/index.native71.js +11 -13
- package/dist/native/index.native72.js +13 -18
- package/dist/native/index.native73.js +18 -5
- package/dist/native/index.native74.js +6 -5
- package/dist/native/index.native75.js +5 -11
- package/dist/native/index.native76.js +10 -54
- package/dist/native/index.native77.js +54 -10
- package/dist/native/index.native78.js +11 -2
- package/dist/native/index.native79.js +2 -45
- package/dist/native/index.native8.js +115 -137
- package/dist/native/index.native80.js +44 -13
- package/dist/native/index.native81.js +14 -2
- package/dist/native/index.native82.js +1 -1
- package/dist/native/index.native83.js +2 -20
- package/dist/native/index.native84.js +103 -79
- package/dist/native/index.native85.js +18 -102
- package/dist/native/index.native86.js +79 -32
- package/dist/native/index.native87.js +32 -6
- package/dist/native/index.native88.js +6 -78
- package/dist/native/index.native89.js +2 -2
- package/dist/native/index.native9.js +138 -113
- package/dist/native/index.native90.js +3 -3
- package/dist/native/index.native92.js +3 -3
- package/dist/native/index.native93.js +1 -1
- package/dist/native/index.native94.js +3 -3
- package/dist/native/index.native95.js +79 -10
- package/dist/native/index.native96.js +10 -5
- package/dist/native/index.native97.js +5 -18
- package/dist/native/index.native98.js +18 -28
- package/dist/native/index.native99.js +26 -6
- package/dist/native-types/auth/authManager.d.ts +3 -0
- package/dist/native-types/platform/native/secureStorage.d.ts +2 -0
- package/dist/native-types/platform/types.d.ts +7 -0
- package/dist/types/auth/authManager.d.ts +3 -0
- package/dist/types/platform/native/secureStorage.d.ts +2 -0
- package/dist/types/platform/types.d.ts +7 -0
- package/dist/web/index.web100.js +13 -28
- package/dist/web/index.web101.js +10 -8
- package/dist/web/index.web102.js +17 -11
- package/dist/web/index.web103.js +80 -12
- package/dist/web/index.web104.js +13 -10
- package/dist/web/index.web105.js +36 -17
- package/dist/web/index.web106.js +40 -79
- package/dist/web/index.web26.js +1 -1
- package/dist/web/index.web5.js +131 -109
- package/dist/web/index.web6.js +65 -38
- package/dist/web/index.web75.js +6 -6
- package/dist/web/index.web84.js +1 -1
- package/dist/web/index.web87.js +21 -10
- package/dist/web/index.web88.js +10 -79
- package/dist/web/index.web89.js +19 -20
- package/dist/web/index.web90.js +93 -9
- package/dist/web/index.web91.js +19 -18
- package/dist/web/index.web92.js +105 -81
- package/dist/web/index.web93.js +78 -20
- package/dist/web/index.web94.js +9 -117
- package/dist/web/index.web96.js +18 -13
- package/dist/web/index.web97.js +27 -35
- package/dist/web/index.web98.js +7 -41
- package/dist/web/index.web99.js +11 -18
- package/dist/web-types/auth/authManager.d.ts +3 -0
- package/dist/web-types/platform/native/secureStorage.d.ts +2 -0
- package/dist/web-types/platform/types.d.ts +7 -0
- package/package.json +8 -4
package/dist/web/index.web6.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { logOutEndUser as l, refreshAccessToken as c, registerTemporaryWalletSecret as o } from "@coinbase/cdp-api-client";
|
|
2
2
|
import { SignJWT as u } from "./index.web19.js";
|
|
3
3
|
import "viem";
|
|
4
|
-
import { toAuthState as
|
|
4
|
+
import { toAuthState as f } from "./index.web12.js";
|
|
5
5
|
import { getPlatformCrypto as n } from "./index.web2.js";
|
|
6
|
-
import { sortKeys as
|
|
7
|
-
const
|
|
8
|
-
class
|
|
6
|
+
import { sortKeys as S } from "./index.web16.js";
|
|
7
|
+
const i = 60 * 1e3;
|
|
8
|
+
class p {
|
|
9
9
|
projectId;
|
|
10
10
|
authState = null;
|
|
11
11
|
walletSecret = null;
|
|
12
12
|
authStateChangeCallbacks = [];
|
|
13
13
|
initPromise = null;
|
|
14
|
+
refreshTimeout = null;
|
|
14
15
|
/**
|
|
15
16
|
* Initializes the token manager.
|
|
16
17
|
*
|
|
17
18
|
* @param projectId - The project ID.
|
|
18
19
|
*/
|
|
19
|
-
constructor(
|
|
20
|
-
this.projectId =
|
|
20
|
+
constructor(e) {
|
|
21
|
+
this.projectId = e, this.initPromise = this._doInitialize();
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* Gets the current user, or null if there is no user signed in.
|
|
@@ -29,12 +30,20 @@ class A {
|
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
32
|
* Returns whether the user is signed in - i.e., whether there is an unexpired
|
|
32
|
-
* access token and user.
|
|
33
|
+
* access token and user. Attempts to refresh the token if it's expired.
|
|
33
34
|
*
|
|
34
35
|
* @returns True if the user is signed in, false otherwise.
|
|
35
36
|
*/
|
|
36
37
|
async isSignedIn() {
|
|
37
|
-
|
|
38
|
+
if (!this.authState)
|
|
39
|
+
return !1;
|
|
40
|
+
if (this.authState.expiresAt > Date.now() + i)
|
|
41
|
+
return !0;
|
|
42
|
+
try {
|
|
43
|
+
return await this.getToken() !== null;
|
|
44
|
+
} catch {
|
|
45
|
+
return !1;
|
|
46
|
+
}
|
|
38
47
|
}
|
|
39
48
|
/**
|
|
40
49
|
* Signs out the user, clearing all authentication state.
|
|
@@ -52,8 +61,8 @@ class A {
|
|
|
52
61
|
*
|
|
53
62
|
* @param callback - The function to call when the auth state changes.
|
|
54
63
|
*/
|
|
55
|
-
addAuthStateChangeCallback(
|
|
56
|
-
this.authStateChangeCallbacks.push(
|
|
64
|
+
addAuthStateChangeCallback(e) {
|
|
65
|
+
this.authStateChangeCallbacks.push(e), e(this.authState?.user ?? null);
|
|
57
66
|
}
|
|
58
67
|
/**
|
|
59
68
|
* Gets the access token, refreshing it if it is expired. Returns null if the user is not
|
|
@@ -84,32 +93,32 @@ class A {
|
|
|
84
93
|
* @param options.requestData - The data of the request.
|
|
85
94
|
* @returns The X-Wallet-Auth header.
|
|
86
95
|
*/
|
|
87
|
-
async getXWalletAuth(
|
|
96
|
+
async getXWalletAuth(e) {
|
|
88
97
|
if (!await this.isSignedIn())
|
|
89
98
|
throw new Error("Cannot get X-Wallet-Auth header if the user is not signed in");
|
|
90
99
|
this.shouldRefreshWalletSecret() && await this.refreshWalletSecret();
|
|
91
|
-
const
|
|
92
|
-
uris: [
|
|
100
|
+
const t = `${e.requestMethod} ${e.requestHost}${e.requestPath}`, r = Math.floor(Date.now() / 1e3), s = n(), a = {
|
|
101
|
+
uris: [t]
|
|
93
102
|
};
|
|
94
|
-
if (
|
|
95
|
-
const
|
|
96
|
-
|
|
103
|
+
if (e.requestData && Object.keys(e.requestData).length > 0) {
|
|
104
|
+
const h = S(e.requestData);
|
|
105
|
+
a.reqHash = await s.hash(new TextEncoder().encode(JSON.stringify(h)));
|
|
97
106
|
}
|
|
98
|
-
return await new u(
|
|
107
|
+
return await new u(a).setProtectedHeader({ alg: "ES256", typ: "JWT" }).setIssuedAt(r).setNotBefore(r).setJti(s.generateRandomId()).sign(this.walletSecret.keyPair.privateKey);
|
|
99
108
|
}
|
|
100
109
|
/**
|
|
101
110
|
* Sets the authentication state.
|
|
102
111
|
*
|
|
103
112
|
* @param authState - The authentication state.
|
|
104
113
|
*/
|
|
105
|
-
async setAuthState(
|
|
106
|
-
this.authState =
|
|
114
|
+
async setAuthState(e) {
|
|
115
|
+
this.authState = e, this.authStateChangeCallbacks.forEach((t) => t(this.authState?.user ?? null)), this.scheduleTokenRefresh();
|
|
107
116
|
}
|
|
108
117
|
/**
|
|
109
118
|
* Clears the authentication state.
|
|
110
119
|
*/
|
|
111
120
|
async clearAuthState() {
|
|
112
|
-
this.authState = null, this.walletSecret = null, this.authStateChangeCallbacks.forEach((
|
|
121
|
+
this.authState = null, this.walletSecret = null, this.cancelTokenRefresh(), this.authStateChangeCallbacks.forEach((e) => e(null));
|
|
113
122
|
}
|
|
114
123
|
/**
|
|
115
124
|
* Ensures the AuthManager is initialized before proceeding.
|
|
@@ -128,8 +137,8 @@ class A {
|
|
|
128
137
|
async _doInitialize() {
|
|
129
138
|
try {
|
|
130
139
|
await this.refreshAccessToken();
|
|
131
|
-
} catch (
|
|
132
|
-
console.warn("Failed to refresh access token during initialization:",
|
|
140
|
+
} catch (e) {
|
|
141
|
+
console.warn("Failed to refresh access token during initialization:", e);
|
|
133
142
|
}
|
|
134
143
|
}
|
|
135
144
|
/**
|
|
@@ -138,7 +147,7 @@ class A {
|
|
|
138
147
|
* @returns True if the token should be refreshed, false otherwise.
|
|
139
148
|
*/
|
|
140
149
|
shouldRefreshToken() {
|
|
141
|
-
return !(this.authState && this.authState.expiresAt > Date.now() +
|
|
150
|
+
return !(this.authState && this.authState.expiresAt > Date.now() + i);
|
|
142
151
|
}
|
|
143
152
|
/**
|
|
144
153
|
* Refreshes the access token and transitions the auth state accordingly.
|
|
@@ -148,14 +157,14 @@ class A {
|
|
|
148
157
|
*/
|
|
149
158
|
async refreshAccessToken() {
|
|
150
159
|
try {
|
|
151
|
-
const
|
|
160
|
+
const e = await c(this.projectId, {
|
|
152
161
|
grantType: "refresh_token"
|
|
153
|
-
}),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
162
|
+
}), t = f(
|
|
163
|
+
e.accessToken,
|
|
164
|
+
e.validUntil,
|
|
165
|
+
e.endUser
|
|
157
166
|
);
|
|
158
|
-
await this.setAuthState(
|
|
167
|
+
await this.setAuthState(t);
|
|
159
168
|
} catch {
|
|
160
169
|
await this.signOut();
|
|
161
170
|
}
|
|
@@ -166,7 +175,7 @@ class A {
|
|
|
166
175
|
* @returns True if the wallet secret should be refreshed, false otherwise.
|
|
167
176
|
*/
|
|
168
177
|
shouldRefreshWalletSecret() {
|
|
169
|
-
return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() +
|
|
178
|
+
return !(this.walletSecret && this.walletSecret.expiresAt > Date.now() + i);
|
|
170
179
|
}
|
|
171
180
|
/**
|
|
172
181
|
* Refreshes the wallet secret. Assumes the user is signed in.
|
|
@@ -174,19 +183,37 @@ class A {
|
|
|
174
183
|
* @returns The wallet secret.
|
|
175
184
|
*/
|
|
176
185
|
async refreshWalletSecret() {
|
|
177
|
-
const
|
|
178
|
-
this.walletSecret = { walletSecretId:
|
|
186
|
+
const e = n(), t = this.walletSecret?.walletSecretId ?? e.generateRandomId(), r = this.walletSecret?.keyPair ?? await e.createKeyPair(), s = this.authState.expiresAt, a = new Date(s).toISOString();
|
|
187
|
+
this.walletSecret = { walletSecretId: t, keyPair: r, expiresAt: s };
|
|
179
188
|
try {
|
|
180
189
|
await o(this.projectId, this.authState.user.userId, {
|
|
181
|
-
walletSecretId:
|
|
182
|
-
publicKey:
|
|
183
|
-
validUntil:
|
|
190
|
+
walletSecretId: t,
|
|
191
|
+
publicKey: r.publicKeyBase64,
|
|
192
|
+
validUntil: a
|
|
184
193
|
});
|
|
185
|
-
} catch (
|
|
186
|
-
throw this.walletSecret = null,
|
|
194
|
+
} catch (h) {
|
|
195
|
+
throw this.walletSecret = null, h;
|
|
187
196
|
}
|
|
188
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Schedules a token refresh to occur exactly when shouldRefreshToken() would return true.
|
|
200
|
+
* Uses the same REFRESH_CREDENTIALS_BUFFER_MS timing as the rest of the auth system.
|
|
201
|
+
*/
|
|
202
|
+
scheduleTokenRefresh() {
|
|
203
|
+
if (this.cancelTokenRefresh(), !this.authState)
|
|
204
|
+
return;
|
|
205
|
+
const t = this.authState.expiresAt - i - Date.now();
|
|
206
|
+
t <= 0 || (this.refreshTimeout = setTimeout(async () => {
|
|
207
|
+
await this.refreshAccessToken(), this.scheduleTokenRefresh();
|
|
208
|
+
}, t));
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Cancels any scheduled token refresh.
|
|
212
|
+
*/
|
|
213
|
+
cancelTokenRefresh() {
|
|
214
|
+
this.refreshTimeout && (clearTimeout(this.refreshTimeout), this.refreshTimeout = null);
|
|
215
|
+
}
|
|
189
216
|
}
|
|
190
217
|
export {
|
|
191
|
-
|
|
218
|
+
p as AuthManager
|
|
192
219
|
};
|
package/dist/web/index.web75.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { encode as d } from "./index.
|
|
2
|
-
import y from "./index.
|
|
3
|
-
import b from "./index.
|
|
1
|
+
import { encode as d } from "./index.web87.js";
|
|
2
|
+
import y from "./index.web88.js";
|
|
3
|
+
import b from "./index.web89.js";
|
|
4
4
|
import { JWSInvalid as r } from "./index.web28.js";
|
|
5
5
|
import { encoder as s, concat as u, decoder as h } from "./index.web76.js";
|
|
6
|
-
import g from "./index.
|
|
7
|
-
import H from "./index.
|
|
8
|
-
import P from "./index.
|
|
6
|
+
import g from "./index.web90.js";
|
|
7
|
+
import H from "./index.web91.js";
|
|
8
|
+
import P from "./index.web92.js";
|
|
9
9
|
class x {
|
|
10
10
|
#r;
|
|
11
11
|
#e;
|
package/dist/web/index.web84.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HashMD as D, SHA256_IV as b, Chi as g, Maj as p } from "./index.
|
|
1
|
+
import { HashMD as D, SHA256_IV as b, Chi as g, Maj as p } from "./index.web93.js";
|
|
2
2
|
import { createHasher as u, clean as C, rotr as i } from "./index.web83.js";
|
|
3
3
|
const B = /* @__PURE__ */ Uint32Array.from([
|
|
4
4
|
1116352408,
|
package/dist/web/index.web87.js
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { encoder as t, decoder as o } from "./index.web76.js";
|
|
2
|
+
import { encodeBase64 as c, decodeBase64 as a } from "./index.web96.js";
|
|
3
|
+
function i(r) {
|
|
4
|
+
if (Uint8Array.fromBase64)
|
|
5
|
+
return Uint8Array.fromBase64(typeof r == "string" ? r : o.decode(r), {
|
|
6
|
+
alphabet: "base64url"
|
|
7
|
+
});
|
|
8
|
+
let e = r;
|
|
9
|
+
e instanceof Uint8Array && (e = o.decode(e)), e = e.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
|
|
10
|
+
try {
|
|
11
|
+
return a(e);
|
|
12
|
+
} catch {
|
|
13
|
+
throw new TypeError("The input to be decoded is not correctly encoded.");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function p(r) {
|
|
17
|
+
let e = r;
|
|
18
|
+
return typeof e == "string" && (e = t.encode(e)), Uint8Array.prototype.toBase64 ? e.toBase64({ alphabet: "base64url", omitPadding: !0 }) : c(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
19
|
+
}
|
|
10
20
|
export {
|
|
11
|
-
|
|
21
|
+
i as decode,
|
|
22
|
+
p as encode
|
|
12
23
|
};
|
package/dist/web/index.web88.js
CHANGED
|
@@ -1,81 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
function _(o, t, s) {
|
|
12
|
-
return o & t ^ o & s ^ t & s;
|
|
13
|
-
}
|
|
14
|
-
class m extends g {
|
|
15
|
-
constructor(t, s, n, i) {
|
|
16
|
-
super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = s, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = l(this.buffer);
|
|
17
|
-
}
|
|
18
|
-
update(t) {
|
|
19
|
-
b(this), t = a(t), d(t);
|
|
20
|
-
const { view: s, buffer: n, blockLen: i } = this, h = t.length;
|
|
21
|
-
for (let e = 0; e < h; ) {
|
|
22
|
-
const r = Math.min(i - this.pos, h - e);
|
|
23
|
-
if (r === i) {
|
|
24
|
-
const c = l(t);
|
|
25
|
-
for (; i <= h - e; e += i)
|
|
26
|
-
this.process(c, e);
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
n.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === i && (this.process(s, 0), this.pos = 0);
|
|
30
|
-
}
|
|
31
|
-
return this.length += t.length, this.roundClean(), this;
|
|
32
|
-
}
|
|
33
|
-
digestInto(t) {
|
|
34
|
-
b(this), x(t, this), this.finished = !0;
|
|
35
|
-
const { buffer: s, view: n, blockLen: i, isLE: h } = this;
|
|
36
|
-
let { pos: e } = this;
|
|
37
|
-
s[e++] = 128, w(this.buffer.subarray(e)), this.padOffset > i - e && (this.process(n, 0), e = 0);
|
|
38
|
-
for (let f = e; f < i; f++)
|
|
39
|
-
s[f] = 0;
|
|
40
|
-
y(n, i - 8, BigInt(this.length * 8), h), this.process(n, 0);
|
|
41
|
-
const r = l(t), c = this.outputLen;
|
|
42
|
-
if (c % 4)
|
|
43
|
-
throw new Error("_sha2: outputLen should be aligned to 32bit");
|
|
44
|
-
const u = c / 4, p = this.get();
|
|
45
|
-
if (u > p.length)
|
|
46
|
-
throw new Error("_sha2: outputLen bigger than state");
|
|
47
|
-
for (let f = 0; f < u; f++)
|
|
48
|
-
r.setUint32(4 * f, p[f], h);
|
|
49
|
-
}
|
|
50
|
-
digest() {
|
|
51
|
-
const { buffer: t, outputLen: s } = this;
|
|
52
|
-
this.digestInto(t);
|
|
53
|
-
const n = t.slice(0, s);
|
|
54
|
-
return this.destroy(), n;
|
|
55
|
-
}
|
|
56
|
-
_cloneInto(t) {
|
|
57
|
-
t || (t = new this.constructor()), t.set(...this.get());
|
|
58
|
-
const { blockLen: s, buffer: n, length: i, finished: h, destroyed: e, pos: r } = this;
|
|
59
|
-
return t.destroyed = e, t.finished = h, t.length = i, t.pos = r, i % s && t.buffer.set(n), t;
|
|
60
|
-
}
|
|
61
|
-
clone() {
|
|
62
|
-
return this._cloneInto();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const B = /* @__PURE__ */ Uint32Array.from([
|
|
66
|
-
1779033703,
|
|
67
|
-
3144134277,
|
|
68
|
-
1013904242,
|
|
69
|
-
2773480762,
|
|
70
|
-
1359893119,
|
|
71
|
-
2600822924,
|
|
72
|
-
528734635,
|
|
73
|
-
1541459225
|
|
74
|
-
]);
|
|
1
|
+
import n from "./index.web97.js";
|
|
2
|
+
import s from "./index.web98.js";
|
|
3
|
+
import a from "./index.web99.js";
|
|
4
|
+
const y = async (t, o, e) => {
|
|
5
|
+
const r = await a(t, o, "sign");
|
|
6
|
+
s(t, r);
|
|
7
|
+
const i = await crypto.subtle.sign(n(t, r.algorithm), r, e);
|
|
8
|
+
return new Uint8Array(i);
|
|
9
|
+
};
|
|
75
10
|
export {
|
|
76
|
-
|
|
77
|
-
m as HashMD,
|
|
78
|
-
_ as Maj,
|
|
79
|
-
B as SHA256_IV,
|
|
80
|
-
y as setBigUint64
|
|
11
|
+
y as default
|
|
81
12
|
};
|
package/dist/web/index.web89.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
const a = (...o) => {
|
|
2
|
+
const t = o.filter(Boolean);
|
|
3
|
+
if (t.length === 0 || t.length === 1)
|
|
4
|
+
return !0;
|
|
5
|
+
let e;
|
|
6
|
+
for (const s of t) {
|
|
7
|
+
const r = Object.keys(s);
|
|
8
|
+
if (!e || e.size === 0) {
|
|
9
|
+
e = new Set(r);
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
for (const n of r) {
|
|
13
|
+
if (e.has(n))
|
|
14
|
+
return !1;
|
|
15
|
+
e.add(n);
|
|
16
|
+
}
|
|
14
17
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
let e = r;
|
|
18
|
-
return typeof e == "string" && (e = t.encode(e)), Uint8Array.prototype.toBase64 ? e.toBase64({ alphabet: "base64url", omitPadding: !0 }) : c(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
19
|
-
}
|
|
18
|
+
return !0;
|
|
19
|
+
};
|
|
20
20
|
export {
|
|
21
|
-
|
|
22
|
-
p as encode
|
|
21
|
+
a as default
|
|
23
22
|
};
|
package/dist/web/index.web90.js
CHANGED
|
@@ -1,12 +1,96 @@
|
|
|
1
|
-
import n from "./index.web100.js";
|
|
2
|
-
import
|
|
3
|
-
import a from "./index.web102.js";
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { withAlg as n } from "./index.web100.js";
|
|
2
|
+
import c from "./index.web101.js";
|
|
3
|
+
import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.web102.js";
|
|
4
|
+
const s = (r) => r?.[Symbol.toStringTag], o = (r, e, t) => {
|
|
5
|
+
if (e.use !== void 0) {
|
|
6
|
+
let i;
|
|
7
|
+
switch (t) {
|
|
8
|
+
case "sign":
|
|
9
|
+
case "verify":
|
|
10
|
+
i = "sig";
|
|
11
|
+
break;
|
|
12
|
+
case "encrypt":
|
|
13
|
+
case "decrypt":
|
|
14
|
+
i = "enc";
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
if (e.use !== i)
|
|
18
|
+
throw new TypeError(`Invalid key for this operation, its "use" must be "${i}" when present`);
|
|
19
|
+
}
|
|
20
|
+
if (e.alg !== void 0 && e.alg !== r)
|
|
21
|
+
throw new TypeError(`Invalid key for this operation, its "alg" must be "${r}" when present`);
|
|
22
|
+
if (Array.isArray(e.key_ops)) {
|
|
23
|
+
let i;
|
|
24
|
+
switch (!0) {
|
|
25
|
+
case t === "sign":
|
|
26
|
+
case r === "dir":
|
|
27
|
+
case r.includes("CBC-HS"):
|
|
28
|
+
i = t;
|
|
29
|
+
break;
|
|
30
|
+
case r.startsWith("PBES2"):
|
|
31
|
+
i = "deriveBits";
|
|
32
|
+
break;
|
|
33
|
+
case /^A\d{3}(?:GCM)?(?:KW)?$/.test(r):
|
|
34
|
+
!r.includes("GCM") && r.endsWith("KW") ? i = "unwrapKey" : i = t;
|
|
35
|
+
break;
|
|
36
|
+
case t === "encrypt":
|
|
37
|
+
i = "wrapKey";
|
|
38
|
+
break;
|
|
39
|
+
case t === "decrypt":
|
|
40
|
+
i = r.startsWith("RSA") ? "unwrapKey" : "deriveBits";
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
if (i && e.key_ops?.includes?.(i) === !1)
|
|
44
|
+
throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${i}" when present`);
|
|
45
|
+
}
|
|
46
|
+
return !0;
|
|
47
|
+
}, h = (r, e, t) => {
|
|
48
|
+
if (!(e instanceof Uint8Array)) {
|
|
49
|
+
if (p(e)) {
|
|
50
|
+
if (a(e) && o(r, e, t))
|
|
51
|
+
return;
|
|
52
|
+
throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present');
|
|
53
|
+
}
|
|
54
|
+
if (!c(e))
|
|
55
|
+
throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key", "Uint8Array"));
|
|
56
|
+
if (e.type !== "secret")
|
|
57
|
+
throw new TypeError(`${s(e)} instances for symmetric algorithms must be of type "secret"`);
|
|
58
|
+
}
|
|
59
|
+
}, m = (r, e, t) => {
|
|
60
|
+
if (p(e))
|
|
61
|
+
switch (t) {
|
|
62
|
+
case "decrypt":
|
|
63
|
+
case "sign":
|
|
64
|
+
if (f(e) && o(r, e, t))
|
|
65
|
+
return;
|
|
66
|
+
throw new TypeError("JSON Web Key for this operation be a private JWK");
|
|
67
|
+
case "encrypt":
|
|
68
|
+
case "verify":
|
|
69
|
+
if (y(e) && o(r, e, t))
|
|
70
|
+
return;
|
|
71
|
+
throw new TypeError("JSON Web Key for this operation be a public JWK");
|
|
72
|
+
}
|
|
73
|
+
if (!c(e))
|
|
74
|
+
throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key"));
|
|
75
|
+
if (e.type === "secret")
|
|
76
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithms must not be of type "secret"`);
|
|
77
|
+
if (e.type === "public")
|
|
78
|
+
switch (t) {
|
|
79
|
+
case "sign":
|
|
80
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm signing must be of type "private"`);
|
|
81
|
+
case "decrypt":
|
|
82
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm decryption must be of type "private"`);
|
|
83
|
+
}
|
|
84
|
+
if (e.type === "private")
|
|
85
|
+
switch (t) {
|
|
86
|
+
case "verify":
|
|
87
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm verifying must be of type "public"`);
|
|
88
|
+
case "encrypt":
|
|
89
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm encryption must be of type "public"`);
|
|
90
|
+
}
|
|
91
|
+
}, d = (r, e, t) => {
|
|
92
|
+
r.startsWith("HS") || r === "dir" || r.startsWith("PBES2") || /^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(r) || /^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(r) ? h(r, e, t) : m(r, e, t);
|
|
9
93
|
};
|
|
10
94
|
export {
|
|
11
|
-
|
|
95
|
+
d as default
|
|
12
96
|
};
|
package/dist/web/index.web91.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { JOSENotSupported as f } from "./index.web28.js";
|
|
2
|
+
const w = (n, r, a, e, s) => {
|
|
3
|
+
if (s.crit !== void 0 && e?.crit === void 0)
|
|
4
|
+
throw new n('"crit" (Critical) Header Parameter MUST be integrity protected');
|
|
5
|
+
if (!e || e.crit === void 0)
|
|
6
|
+
return /* @__PURE__ */ new Set();
|
|
7
|
+
if (!Array.isArray(e.crit) || e.crit.length === 0 || e.crit.some((i) => typeof i != "string" || i.length === 0))
|
|
8
|
+
throw new n('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');
|
|
9
|
+
let t;
|
|
10
|
+
a !== void 0 ? t = new Map([...Object.entries(a), ...r.entries()]) : t = r;
|
|
11
|
+
for (const i of e.crit) {
|
|
12
|
+
if (!t.has(i))
|
|
13
|
+
throw new f(`Extension Header Parameter "${i}" is not recognized`);
|
|
14
|
+
if (s[i] === void 0)
|
|
15
|
+
throw new n(`Extension Header Parameter "${i}" is missing`);
|
|
16
|
+
if (t.get(i) && e[i] === void 0)
|
|
17
|
+
throw new n(`Extension Header Parameter "${i}" MUST be integrity protected`);
|
|
17
18
|
}
|
|
18
|
-
return
|
|
19
|
+
return new Set(e.crit);
|
|
19
20
|
};
|
|
20
21
|
export {
|
|
21
|
-
|
|
22
|
+
w as default
|
|
22
23
|
};
|