authfort-client 0.0.4 → 0.0.5
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/client.d.ts.map +1 -1
- package/dist/client.js +22 -10
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/token-manager.d.ts +16 -9
- package/dist/token-manager.d.ts.map +1 -1
- package/dist/token-manager.js +33 -14
- package/dist/token-manager.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAKjB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAKjB,MAAM,YAAY,CAAC;AA2SpB,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAErE"}
|
package/dist/client.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AuthFort client — main implementation.
|
|
3
3
|
*/
|
|
4
|
-
import { parseErrorResponse } from './errors.js';
|
|
4
|
+
import { AuthClientError, parseErrorResponse } from './errors.js';
|
|
5
5
|
import { TokenManager } from './token-manager.js';
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
7
|
// Helpers
|
|
@@ -29,7 +29,10 @@ class AuthClientImpl {
|
|
|
29
29
|
this._baseUrl = config.baseUrl.replace(/\/+$/, '');
|
|
30
30
|
this._tokenMode = config.tokenMode ?? 'cookie';
|
|
31
31
|
if (this._tokenMode === 'bearer') {
|
|
32
|
-
|
|
32
|
+
if (!config.tokenStorage) {
|
|
33
|
+
throw new AuthClientError('tokenStorage is required when tokenMode is "bearer". Provide a { get, set, clear } adapter.', 'missing_token_storage', 0);
|
|
34
|
+
}
|
|
35
|
+
this._tokenManager = new TokenManager(this._baseUrl, config.refreshBuffer ?? 30, config.tokenStorage, (response) => this._setAuthenticated(mapUser(response.user)), () => this._setState('unauthenticated', null));
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
38
|
async initialize() {
|
|
@@ -101,7 +104,6 @@ class AuthClientImpl {
|
|
|
101
104
|
Authorization: `Bearer ${token}`,
|
|
102
105
|
};
|
|
103
106
|
}
|
|
104
|
-
fetchOptions.credentials = 'include';
|
|
105
107
|
}
|
|
106
108
|
return globalThis.fetch(url, fetchOptions);
|
|
107
109
|
};
|
|
@@ -110,7 +112,7 @@ class AuthClientImpl {
|
|
|
110
112
|
if (response.status === 401) {
|
|
111
113
|
let refreshed = false;
|
|
112
114
|
if (this._tokenMode === 'bearer') {
|
|
113
|
-
this._tokenManager.
|
|
115
|
+
this._tokenManager.clearAccessToken();
|
|
114
116
|
const result = await this._tokenManager.refresh();
|
|
115
117
|
refreshed = result !== null;
|
|
116
118
|
}
|
|
@@ -129,7 +131,7 @@ class AuthClientImpl {
|
|
|
129
131
|
// Still 401 after retry — session is dead
|
|
130
132
|
if (response.status === 401) {
|
|
131
133
|
if (this._tokenManager)
|
|
132
|
-
this._tokenManager.clear();
|
|
134
|
+
await this._tokenManager.clear();
|
|
133
135
|
this._setState('unauthenticated', null);
|
|
134
136
|
}
|
|
135
137
|
}
|
|
@@ -148,7 +150,7 @@ class AuthClientImpl {
|
|
|
148
150
|
const result = await response.json();
|
|
149
151
|
const user = mapUser(result.user);
|
|
150
152
|
if (this._tokenManager) {
|
|
151
|
-
this._tokenManager.setTokens(result.tokens.access_token, result.tokens.expires_in);
|
|
153
|
+
await this._tokenManager.setTokens(result.tokens.access_token, result.tokens.refresh_token, result.tokens.expires_in);
|
|
152
154
|
}
|
|
153
155
|
this._setAuthenticated(user);
|
|
154
156
|
return user;
|
|
@@ -166,7 +168,7 @@ class AuthClientImpl {
|
|
|
166
168
|
const result = await response.json();
|
|
167
169
|
const user = mapUser(result.user);
|
|
168
170
|
if (this._tokenManager) {
|
|
169
|
-
this._tokenManager.setTokens(result.tokens.access_token, result.tokens.expires_in);
|
|
171
|
+
await this._tokenManager.setTokens(result.tokens.access_token, result.tokens.refresh_token, result.tokens.expires_in);
|
|
170
172
|
}
|
|
171
173
|
this._setAuthenticated(user);
|
|
172
174
|
return user;
|
|
@@ -176,16 +178,26 @@ class AuthClientImpl {
|
|
|
176
178
|
}
|
|
177
179
|
async signOut() {
|
|
178
180
|
try {
|
|
181
|
+
let body;
|
|
182
|
+
if (this._tokenManager) {
|
|
183
|
+
const refreshToken = await this._tokenManager.getRefreshToken();
|
|
184
|
+
body = refreshToken
|
|
185
|
+
? JSON.stringify({ refresh_token: refreshToken })
|
|
186
|
+
: JSON.stringify({});
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
body = JSON.stringify({});
|
|
190
|
+
}
|
|
179
191
|
await globalThis.fetch(`${this._baseUrl}/logout`, {
|
|
180
192
|
method: 'POST',
|
|
181
|
-
credentials: 'include',
|
|
193
|
+
credentials: this._tokenMode === 'cookie' ? 'include' : undefined,
|
|
182
194
|
headers: { 'Content-Type': 'application/json' },
|
|
183
|
-
body
|
|
195
|
+
body,
|
|
184
196
|
});
|
|
185
197
|
}
|
|
186
198
|
finally {
|
|
187
199
|
if (this._tokenManager)
|
|
188
|
-
this._tokenManager.clear();
|
|
200
|
+
await this._tokenManager.clear();
|
|
189
201
|
this._setState('unauthenticated', null);
|
|
190
202
|
}
|
|
191
203
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { createAuthClient } from './client.js';
|
|
7
7
|
export { AuthClientError } from './errors.js';
|
|
8
|
-
export type { AuthClientConfig, AuthClient, AuthState, AuthUser } from './types.js';
|
|
8
|
+
export type { AuthClientConfig, AuthClient, AuthState, AuthUser, TokenStorage } from './types.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/token-manager.d.ts
CHANGED
|
@@ -3,33 +3,40 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles:
|
|
5
5
|
* - In-memory access token storage
|
|
6
|
+
* - Refresh token persistence via TokenStorage adapter
|
|
6
7
|
* - Proactive refresh (before expiry)
|
|
7
8
|
* - Single refresh promise deduplication
|
|
8
9
|
*/
|
|
9
|
-
import type { ServerAuthResponse } from './types.js';
|
|
10
|
+
import type { ServerAuthResponse, TokenStorage } from './types.js';
|
|
10
11
|
export declare class TokenManager {
|
|
11
12
|
private readonly _baseUrl;
|
|
12
13
|
private readonly _refreshBuffer;
|
|
14
|
+
private readonly _tokenStorage;
|
|
13
15
|
private readonly _onRefreshSuccess;
|
|
14
16
|
private readonly _onRefreshFailure;
|
|
15
17
|
private _accessToken;
|
|
16
18
|
private _expiresAt;
|
|
17
19
|
private _refreshTimer;
|
|
18
20
|
private _refreshPromise;
|
|
19
|
-
constructor(_baseUrl: string, _refreshBuffer: number, _onRefreshSuccess: (response: ServerAuthResponse) => void, _onRefreshFailure: () => void);
|
|
21
|
+
constructor(_baseUrl: string, _refreshBuffer: number, _tokenStorage: TokenStorage, _onRefreshSuccess: (response: ServerAuthResponse) => void, _onRefreshFailure: () => void);
|
|
20
22
|
/** Returns the current access token, or null if expired/absent. */
|
|
21
23
|
getToken(): string | null;
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
|
|
24
|
+
/** Retrieve the stored refresh token from storage. */
|
|
25
|
+
getRefreshToken(): Promise<string | null>;
|
|
26
|
+
/** Store a new access + refresh token pair and schedule proactive refresh. */
|
|
27
|
+
setTokens(accessToken: string, refreshToken: string, expiresIn: number): Promise<void>;
|
|
28
|
+
/** Clear all tokens (in-memory + storage) and cancel any scheduled refresh. */
|
|
29
|
+
clear(): Promise<void>;
|
|
30
|
+
/** Clear only the in-memory access token. Preserves stored refresh token. */
|
|
31
|
+
clearAccessToken(): void;
|
|
26
32
|
/**
|
|
27
|
-
* Refresh the access token via POST /refresh
|
|
33
|
+
* Refresh the access token via POST /refresh.
|
|
34
|
+
* Sends the stored refresh token in the request body.
|
|
28
35
|
* Deduplicates concurrent calls — only one fetch in flight at a time.
|
|
29
36
|
*/
|
|
30
37
|
refresh(): Promise<ServerAuthResponse | null>;
|
|
31
|
-
/** Cleanup timers. */
|
|
32
|
-
dispose(): void
|
|
38
|
+
/** Cleanup timers and storage. */
|
|
39
|
+
dispose(): Promise<void>;
|
|
33
40
|
private _doRefresh;
|
|
34
41
|
private _scheduleRefresh;
|
|
35
42
|
private _cancelRefresh;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../src/token-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../src/token-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAVpC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,eAAe,CAAmD;gBAGvD,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,YAAY,EAC3B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,EACzD,iBAAiB,EAAE,MAAM,IAAI;IAGhD,mEAAmE;IACnE,QAAQ,IAAI,MAAM,GAAG,IAAI;IAOzB,sDAAsD;IAChD,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI/C,8EAA8E;IACxE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5F,+EAA+E;IACzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,6EAA6E;IAC7E,gBAAgB,IAAI,IAAI;IAMxB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAanD,kCAAkC;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAQhB,UAAU;IA+BxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,cAAc;CAMvB"}
|
package/dist/token-manager.js
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles:
|
|
5
5
|
* - In-memory access token storage
|
|
6
|
+
* - Refresh token persistence via TokenStorage adapter
|
|
6
7
|
* - Proactive refresh (before expiry)
|
|
7
8
|
* - Single refresh promise deduplication
|
|
8
9
|
*/
|
|
9
10
|
export class TokenManager {
|
|
10
|
-
constructor(_baseUrl, _refreshBuffer, _onRefreshSuccess, _onRefreshFailure) {
|
|
11
|
+
constructor(_baseUrl, _refreshBuffer, _tokenStorage, _onRefreshSuccess, _onRefreshFailure) {
|
|
11
12
|
this._baseUrl = _baseUrl;
|
|
12
13
|
this._refreshBuffer = _refreshBuffer;
|
|
14
|
+
this._tokenStorage = _tokenStorage;
|
|
13
15
|
this._onRefreshSuccess = _onRefreshSuccess;
|
|
14
16
|
this._onRefreshFailure = _onRefreshFailure;
|
|
15
17
|
this._accessToken = null;
|
|
@@ -24,20 +26,33 @@ export class TokenManager {
|
|
|
24
26
|
}
|
|
25
27
|
return null;
|
|
26
28
|
}
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
+
/** Retrieve the stored refresh token from storage. */
|
|
30
|
+
async getRefreshToken() {
|
|
31
|
+
return this._tokenStorage.get();
|
|
32
|
+
}
|
|
33
|
+
/** Store a new access + refresh token pair and schedule proactive refresh. */
|
|
34
|
+
async setTokens(accessToken, refreshToken, expiresIn) {
|
|
29
35
|
this._accessToken = accessToken;
|
|
30
36
|
this._expiresAt = Date.now() + expiresIn * 1000;
|
|
37
|
+
await this._tokenStorage.set(refreshToken);
|
|
31
38
|
this._scheduleRefresh(expiresIn);
|
|
32
39
|
}
|
|
33
|
-
/** Clear
|
|
34
|
-
clear() {
|
|
40
|
+
/** Clear all tokens (in-memory + storage) and cancel any scheduled refresh. */
|
|
41
|
+
async clear() {
|
|
42
|
+
this._accessToken = null;
|
|
43
|
+
this._expiresAt = 0;
|
|
44
|
+
await this._tokenStorage.clear();
|
|
45
|
+
this._cancelRefresh();
|
|
46
|
+
}
|
|
47
|
+
/** Clear only the in-memory access token. Preserves stored refresh token. */
|
|
48
|
+
clearAccessToken() {
|
|
35
49
|
this._accessToken = null;
|
|
36
50
|
this._expiresAt = 0;
|
|
37
51
|
this._cancelRefresh();
|
|
38
52
|
}
|
|
39
53
|
/**
|
|
40
|
-
* Refresh the access token via POST /refresh
|
|
54
|
+
* Refresh the access token via POST /refresh.
|
|
55
|
+
* Sends the stored refresh token in the request body.
|
|
41
56
|
* Deduplicates concurrent calls — only one fetch in flight at a time.
|
|
42
57
|
*/
|
|
43
58
|
async refresh() {
|
|
@@ -52,33 +67,37 @@ export class TokenManager {
|
|
|
52
67
|
this._refreshPromise = null;
|
|
53
68
|
}
|
|
54
69
|
}
|
|
55
|
-
/** Cleanup timers. */
|
|
56
|
-
dispose() {
|
|
57
|
-
this.clear();
|
|
70
|
+
/** Cleanup timers and storage. */
|
|
71
|
+
async dispose() {
|
|
72
|
+
await this.clear();
|
|
58
73
|
}
|
|
59
74
|
// ---------------------------------------------------------------------------
|
|
60
75
|
// Private
|
|
61
76
|
// ---------------------------------------------------------------------------
|
|
62
77
|
async _doRefresh() {
|
|
63
78
|
try {
|
|
79
|
+
const refreshToken = await this._tokenStorage.get();
|
|
80
|
+
if (!refreshToken) {
|
|
81
|
+
this._onRefreshFailure();
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
64
84
|
const response = await fetch(`${this._baseUrl}/refresh`, {
|
|
65
85
|
method: 'POST',
|
|
66
|
-
credentials: 'include',
|
|
67
86
|
headers: { 'Content-Type': 'application/json' },
|
|
68
|
-
body: JSON.stringify({}),
|
|
87
|
+
body: JSON.stringify({ refresh_token: refreshToken }),
|
|
69
88
|
});
|
|
70
89
|
if (!response.ok) {
|
|
71
|
-
this.clear();
|
|
90
|
+
await this.clear();
|
|
72
91
|
this._onRefreshFailure();
|
|
73
92
|
return null;
|
|
74
93
|
}
|
|
75
94
|
const data = await response.json();
|
|
76
|
-
this.setTokens(data.tokens.access_token, data.tokens.expires_in);
|
|
95
|
+
await this.setTokens(data.tokens.access_token, data.tokens.refresh_token, data.tokens.expires_in);
|
|
77
96
|
this._onRefreshSuccess(data);
|
|
78
97
|
return data;
|
|
79
98
|
}
|
|
80
99
|
catch {
|
|
81
|
-
this.clear();
|
|
100
|
+
await this.clear();
|
|
82
101
|
this._onRefreshFailure();
|
|
83
102
|
return null;
|
|
84
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../src/token-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../src/token-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage adapter for refresh tokens in bearer mode.
|
|
3
|
+
*
|
|
4
|
+
* Implement this interface to persist the refresh token across app restarts.
|
|
5
|
+
* Examples: `localStorage`, `expo-secure-store`, `react-native-keychain`, etc.
|
|
6
|
+
*/
|
|
7
|
+
export interface TokenStorage {
|
|
8
|
+
/** Retrieve the stored refresh token, or null if none exists. */
|
|
9
|
+
get(): Promise<string | null>;
|
|
10
|
+
/** Persist a refresh token. */
|
|
11
|
+
set(token: string): Promise<void>;
|
|
12
|
+
/** Remove the stored refresh token. */
|
|
13
|
+
clear(): Promise<void>;
|
|
14
|
+
}
|
|
1
15
|
/** Configuration for creating an AuthFort client. */
|
|
2
16
|
export interface AuthClientConfig {
|
|
3
17
|
/** Base URL of the auth server (e.g., "https://myapp.com/auth") */
|
|
@@ -10,6 +24,13 @@ export interface AuthClientConfig {
|
|
|
10
24
|
tokenMode?: 'cookie' | 'bearer';
|
|
11
25
|
/** Seconds before expiry to trigger proactive refresh (default: 30) */
|
|
12
26
|
refreshBuffer?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Storage adapter for refresh tokens. Required when `tokenMode` is `'bearer'`.
|
|
29
|
+
*
|
|
30
|
+
* The client calls `get()`, `set()`, and `clear()` to manage the refresh token.
|
|
31
|
+
* You control what storage backend is used (localStorage, SecureStore, etc.).
|
|
32
|
+
*/
|
|
33
|
+
tokenStorage?: TokenStorage;
|
|
13
34
|
}
|
|
14
35
|
/** Authentication state */
|
|
15
36
|
export type AuthState = 'authenticated' | 'unauthenticated' | 'loading';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEhC,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|