@thetechfossil/auth2 1.2.19 → 1.2.21
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/README.md +1 -1
- package/dist/index.components.d.mts +1 -0
- package/dist/index.components.d.ts +1 -0
- package/dist/index.components.js +275 -11
- package/dist/index.components.js.map +1 -1
- package/dist/index.components.mjs +275 -11
- package/dist/index.components.mjs.map +1 -1
- package/dist/index.d.mts +111 -3
- package/dist/index.d.ts +111 -3
- package/dist/index.js +470 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +471 -32
- package/dist/index.mjs.map +1 -1
- package/dist/index.next.d.mts +54 -1
- package/dist/index.next.d.ts +54 -1
- package/dist/index.next.js +332 -26
- package/dist/index.next.js.map +1 -1
- package/dist/index.next.mjs +332 -26
- package/dist/index.next.mjs.map +1 -1
- package/dist/index.next.server.d.mts +81 -2
- package/dist/index.next.server.d.ts +81 -2
- package/dist/index.next.server.js +406 -9
- package/dist/index.next.server.js.map +1 -1
- package/dist/index.next.server.mjs +403 -10
- package/dist/index.next.server.mjs.map +1 -1
- package/dist/index.node.d.mts +81 -2
- package/dist/index.node.d.ts +81 -2
- package/dist/index.node.js +406 -9
- package/dist/index.node.js.map +1 -1
- package/dist/index.node.mjs +403 -10
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.react-native.d.mts +227 -0
- package/dist/index.react-native.d.ts +227 -0
- package/dist/index.react-native.js +1684 -0
- package/dist/index.react-native.js.map +1 -0
- package/dist/index.react-native.mjs +1648 -0
- package/dist/index.react-native.mjs.map +1 -0
- package/package.json +119 -102
|
@@ -14,6 +14,8 @@ interface User {
|
|
|
14
14
|
phoneNumber?: string;
|
|
15
15
|
avatar?: string;
|
|
16
16
|
role: string;
|
|
17
|
+
emailVerified?: boolean;
|
|
18
|
+
twoFactorEnabled?: boolean;
|
|
17
19
|
linkedAccounts?: LinkedAccount[];
|
|
18
20
|
createdAt: string;
|
|
19
21
|
updatedAt: string;
|
|
@@ -63,6 +65,7 @@ interface AuthConfig {
|
|
|
63
65
|
localStorageKey?: string;
|
|
64
66
|
token?: string;
|
|
65
67
|
csrfEnabled?: boolean;
|
|
68
|
+
enableSocket?: boolean;
|
|
66
69
|
upfilesConfig?: UpfilesConfig;
|
|
67
70
|
}
|
|
68
71
|
interface UpfilesConfig {
|
|
@@ -130,17 +133,57 @@ interface UseAuthReturn {
|
|
|
130
133
|
}>;
|
|
131
134
|
revokeSession: (sessionId: string) => Promise<AuthResponse>;
|
|
132
135
|
revokeAllSessions: () => Promise<AuthResponse>;
|
|
136
|
+
adminCreateUser: (data: {
|
|
137
|
+
email: string;
|
|
138
|
+
name: string;
|
|
139
|
+
phoneNumber?: string;
|
|
140
|
+
password?: string;
|
|
141
|
+
}) => Promise<AuthResponse & {
|
|
142
|
+
user?: User;
|
|
143
|
+
}>;
|
|
144
|
+
adminVerifyUser: (userId: string) => Promise<AuthResponse>;
|
|
145
|
+
adminSuspendUser: (userId: string) => Promise<AuthResponse>;
|
|
146
|
+
adminActivateUser: (userId: string) => Promise<AuthResponse>;
|
|
133
147
|
}
|
|
134
148
|
|
|
149
|
+
type SocketEventHandler<T = any> = (data: T) => void;
|
|
150
|
+
|
|
135
151
|
declare class AuthService {
|
|
136
152
|
private httpClient;
|
|
153
|
+
private socketService;
|
|
137
154
|
private config;
|
|
138
155
|
private token;
|
|
139
156
|
private upfilesClient;
|
|
157
|
+
private cachedUser;
|
|
158
|
+
private userCacheTimestamp;
|
|
159
|
+
private readonly USER_CACHE_TTL;
|
|
140
160
|
constructor(config: AuthConfig);
|
|
141
161
|
private loadTokenFromStorage;
|
|
142
162
|
private saveTokenToStorage;
|
|
143
163
|
private removeTokenFromStorage;
|
|
164
|
+
private connectSocket;
|
|
165
|
+
private disconnectSocket;
|
|
166
|
+
onUserUpdated(handler: SocketEventHandler<{
|
|
167
|
+
user: User;
|
|
168
|
+
}>): () => void;
|
|
169
|
+
onSessionRevoked(handler: SocketEventHandler<{
|
|
170
|
+
sessionId?: string;
|
|
171
|
+
}>): () => void;
|
|
172
|
+
onAllSessionsRevoked(handler: SocketEventHandler<{}>): () => void;
|
|
173
|
+
onPasswordChanged(handler: SocketEventHandler<{}>): () => void;
|
|
174
|
+
on2FAChanged(handler: SocketEventHandler<{
|
|
175
|
+
enabled: boolean;
|
|
176
|
+
}>): () => void;
|
|
177
|
+
onSocketConnected(handler: SocketEventHandler<{}>): () => void;
|
|
178
|
+
onSocketDisconnected(handler: SocketEventHandler<{
|
|
179
|
+
reason: string;
|
|
180
|
+
}>): () => void;
|
|
181
|
+
onSocketError(handler: SocketEventHandler<{
|
|
182
|
+
error: string;
|
|
183
|
+
}>): () => void;
|
|
184
|
+
isSocketConnected(): boolean;
|
|
185
|
+
clearUserCache(): void;
|
|
186
|
+
private isCacheValid;
|
|
144
187
|
isAuthenticated(): boolean;
|
|
145
188
|
getToken(): string | null;
|
|
146
189
|
getCurrentUser(): User | null;
|
|
@@ -154,7 +197,7 @@ declare class AuthService {
|
|
|
154
197
|
verify(data: VerifyData): Promise<AuthResponse>;
|
|
155
198
|
verifyEmailToken(token: string): Promise<AuthResponse>;
|
|
156
199
|
logout(): Promise<void>;
|
|
157
|
-
getProfile(): Promise<User>;
|
|
200
|
+
getProfile(forceRefresh?: boolean): Promise<User>;
|
|
158
201
|
updateProfile(data: UpdateUserData): Promise<AuthResponse>;
|
|
159
202
|
getAllUsers(): Promise<User[]>;
|
|
160
203
|
getUserById(id: string): Promise<User>;
|
|
@@ -185,6 +228,14 @@ declare class AuthService {
|
|
|
185
228
|
success: boolean;
|
|
186
229
|
logs: any[];
|
|
187
230
|
}>;
|
|
231
|
+
adminCreateUser(data: {
|
|
232
|
+
email: string;
|
|
233
|
+
name: string;
|
|
234
|
+
phoneNumber?: string;
|
|
235
|
+
password?: string;
|
|
236
|
+
}): Promise<AuthResponse & {
|
|
237
|
+
user?: User;
|
|
238
|
+
}>;
|
|
188
239
|
adminVerifyUser(userId: string): Promise<AuthResponse>;
|
|
189
240
|
adminForcePasswordReset(userId: string): Promise<AuthResponse>;
|
|
190
241
|
adminSuspendUser(userId: string): Promise<AuthResponse>;
|
|
@@ -197,6 +248,7 @@ declare class HttpClient {
|
|
|
197
248
|
private frontendBaseUrl;
|
|
198
249
|
private baseUrl;
|
|
199
250
|
constructor(baseUrl: string, defaultHeaders?: Record<string, string>);
|
|
251
|
+
private createUserFriendlyError;
|
|
200
252
|
get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
201
253
|
post<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
202
254
|
put<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
@@ -224,6 +276,33 @@ declare class AuthClient extends AuthService {
|
|
|
224
276
|
getAllUsers(): Promise<User[]>;
|
|
225
277
|
}
|
|
226
278
|
|
|
279
|
+
interface TokenVerifierConfig {
|
|
280
|
+
authServiceUrl: string;
|
|
281
|
+
cacheTTL?: number;
|
|
282
|
+
cacheEnabled?: boolean;
|
|
283
|
+
}
|
|
284
|
+
declare class TokenVerifier {
|
|
285
|
+
private config;
|
|
286
|
+
private cache;
|
|
287
|
+
private cleanupInterval;
|
|
288
|
+
constructor(config: TokenVerifierConfig);
|
|
289
|
+
verifyToken(token: string): Promise<User | null>;
|
|
290
|
+
invalidateToken(token: string): void;
|
|
291
|
+
clearCache(): void;
|
|
292
|
+
getCacheStats(): {
|
|
293
|
+
size: number;
|
|
294
|
+
enabled: boolean;
|
|
295
|
+
ttl: number;
|
|
296
|
+
};
|
|
297
|
+
destroy(): void;
|
|
298
|
+
private getFromCache;
|
|
299
|
+
private setCache;
|
|
300
|
+
private startCleanup;
|
|
301
|
+
}
|
|
302
|
+
declare function createTokenVerifier(config: TokenVerifierConfig): TokenVerifier;
|
|
303
|
+
declare function getTokenVerifier(): TokenVerifier;
|
|
304
|
+
declare function verifyToken(token: string): Promise<User | null>;
|
|
305
|
+
|
|
227
306
|
declare class NextServerAuth extends AuthClient {
|
|
228
307
|
constructor(config: AuthConfig);
|
|
229
308
|
static parseTokenFromHeaders(headers: Headers): string | null;
|
|
@@ -281,4 +360,4 @@ interface AuthMiddlewareConfig {
|
|
|
281
360
|
declare function authMiddleware(config?: AuthMiddlewareConfig): (request: NextRequestLike) => NextResponseLike;
|
|
282
361
|
declare function createAuthMiddleware(config?: AuthMiddlewareConfig): (request: NextRequestLike) => NextResponseLike;
|
|
283
362
|
|
|
284
|
-
export { type AuditLog, AuthClient, type AuthConfig, type AuthResponse, AuthServer, AuthService, type CsrfTokenResponse, HttpClient, type LinkedAccount, type LoginData, type MFASetup, NextServerAuth, type OAuthConfig, type OAuthProvider, type RegisterData, type Session, type UpdateUserData, type UpfilesConfig, type UseAuthReturn, type User, type VerifyData, auth, authMiddleware, createAuthMiddleware, currentUser, getAuthServer, redirectIfAuthenticated, requireAuth };
|
|
363
|
+
export { type AuditLog, AuthClient, type AuthConfig, type AuthResponse, AuthServer, AuthService, type CsrfTokenResponse, HttpClient, type LinkedAccount, type LoginData, type MFASetup, NextServerAuth, type OAuthConfig, type OAuthProvider, type RegisterData, type Session, TokenVerifier, type UpdateUserData, type UpfilesConfig, type UseAuthReturn, type User, type VerifyData, auth, authMiddleware, createAuthMiddleware, createTokenVerifier, currentUser, getAuthServer, getTokenVerifier, redirectIfAuthenticated, requireAuth, verifyToken };
|
|
@@ -14,6 +14,8 @@ interface User {
|
|
|
14
14
|
phoneNumber?: string;
|
|
15
15
|
avatar?: string;
|
|
16
16
|
role: string;
|
|
17
|
+
emailVerified?: boolean;
|
|
18
|
+
twoFactorEnabled?: boolean;
|
|
17
19
|
linkedAccounts?: LinkedAccount[];
|
|
18
20
|
createdAt: string;
|
|
19
21
|
updatedAt: string;
|
|
@@ -63,6 +65,7 @@ interface AuthConfig {
|
|
|
63
65
|
localStorageKey?: string;
|
|
64
66
|
token?: string;
|
|
65
67
|
csrfEnabled?: boolean;
|
|
68
|
+
enableSocket?: boolean;
|
|
66
69
|
upfilesConfig?: UpfilesConfig;
|
|
67
70
|
}
|
|
68
71
|
interface UpfilesConfig {
|
|
@@ -130,17 +133,57 @@ interface UseAuthReturn {
|
|
|
130
133
|
}>;
|
|
131
134
|
revokeSession: (sessionId: string) => Promise<AuthResponse>;
|
|
132
135
|
revokeAllSessions: () => Promise<AuthResponse>;
|
|
136
|
+
adminCreateUser: (data: {
|
|
137
|
+
email: string;
|
|
138
|
+
name: string;
|
|
139
|
+
phoneNumber?: string;
|
|
140
|
+
password?: string;
|
|
141
|
+
}) => Promise<AuthResponse & {
|
|
142
|
+
user?: User;
|
|
143
|
+
}>;
|
|
144
|
+
adminVerifyUser: (userId: string) => Promise<AuthResponse>;
|
|
145
|
+
adminSuspendUser: (userId: string) => Promise<AuthResponse>;
|
|
146
|
+
adminActivateUser: (userId: string) => Promise<AuthResponse>;
|
|
133
147
|
}
|
|
134
148
|
|
|
149
|
+
type SocketEventHandler<T = any> = (data: T) => void;
|
|
150
|
+
|
|
135
151
|
declare class AuthService {
|
|
136
152
|
private httpClient;
|
|
153
|
+
private socketService;
|
|
137
154
|
private config;
|
|
138
155
|
private token;
|
|
139
156
|
private upfilesClient;
|
|
157
|
+
private cachedUser;
|
|
158
|
+
private userCacheTimestamp;
|
|
159
|
+
private readonly USER_CACHE_TTL;
|
|
140
160
|
constructor(config: AuthConfig);
|
|
141
161
|
private loadTokenFromStorage;
|
|
142
162
|
private saveTokenToStorage;
|
|
143
163
|
private removeTokenFromStorage;
|
|
164
|
+
private connectSocket;
|
|
165
|
+
private disconnectSocket;
|
|
166
|
+
onUserUpdated(handler: SocketEventHandler<{
|
|
167
|
+
user: User;
|
|
168
|
+
}>): () => void;
|
|
169
|
+
onSessionRevoked(handler: SocketEventHandler<{
|
|
170
|
+
sessionId?: string;
|
|
171
|
+
}>): () => void;
|
|
172
|
+
onAllSessionsRevoked(handler: SocketEventHandler<{}>): () => void;
|
|
173
|
+
onPasswordChanged(handler: SocketEventHandler<{}>): () => void;
|
|
174
|
+
on2FAChanged(handler: SocketEventHandler<{
|
|
175
|
+
enabled: boolean;
|
|
176
|
+
}>): () => void;
|
|
177
|
+
onSocketConnected(handler: SocketEventHandler<{}>): () => void;
|
|
178
|
+
onSocketDisconnected(handler: SocketEventHandler<{
|
|
179
|
+
reason: string;
|
|
180
|
+
}>): () => void;
|
|
181
|
+
onSocketError(handler: SocketEventHandler<{
|
|
182
|
+
error: string;
|
|
183
|
+
}>): () => void;
|
|
184
|
+
isSocketConnected(): boolean;
|
|
185
|
+
clearUserCache(): void;
|
|
186
|
+
private isCacheValid;
|
|
144
187
|
isAuthenticated(): boolean;
|
|
145
188
|
getToken(): string | null;
|
|
146
189
|
getCurrentUser(): User | null;
|
|
@@ -154,7 +197,7 @@ declare class AuthService {
|
|
|
154
197
|
verify(data: VerifyData): Promise<AuthResponse>;
|
|
155
198
|
verifyEmailToken(token: string): Promise<AuthResponse>;
|
|
156
199
|
logout(): Promise<void>;
|
|
157
|
-
getProfile(): Promise<User>;
|
|
200
|
+
getProfile(forceRefresh?: boolean): Promise<User>;
|
|
158
201
|
updateProfile(data: UpdateUserData): Promise<AuthResponse>;
|
|
159
202
|
getAllUsers(): Promise<User[]>;
|
|
160
203
|
getUserById(id: string): Promise<User>;
|
|
@@ -185,6 +228,14 @@ declare class AuthService {
|
|
|
185
228
|
success: boolean;
|
|
186
229
|
logs: any[];
|
|
187
230
|
}>;
|
|
231
|
+
adminCreateUser(data: {
|
|
232
|
+
email: string;
|
|
233
|
+
name: string;
|
|
234
|
+
phoneNumber?: string;
|
|
235
|
+
password?: string;
|
|
236
|
+
}): Promise<AuthResponse & {
|
|
237
|
+
user?: User;
|
|
238
|
+
}>;
|
|
188
239
|
adminVerifyUser(userId: string): Promise<AuthResponse>;
|
|
189
240
|
adminForcePasswordReset(userId: string): Promise<AuthResponse>;
|
|
190
241
|
adminSuspendUser(userId: string): Promise<AuthResponse>;
|
|
@@ -197,6 +248,7 @@ declare class HttpClient {
|
|
|
197
248
|
private frontendBaseUrl;
|
|
198
249
|
private baseUrl;
|
|
199
250
|
constructor(baseUrl: string, defaultHeaders?: Record<string, string>);
|
|
251
|
+
private createUserFriendlyError;
|
|
200
252
|
get<T>(endpoint: string, headers?: Record<string, string>): Promise<T>;
|
|
201
253
|
post<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
202
254
|
put<T>(endpoint: string, data?: any, headers?: Record<string, string>): Promise<T>;
|
|
@@ -224,6 +276,33 @@ declare class AuthClient extends AuthService {
|
|
|
224
276
|
getAllUsers(): Promise<User[]>;
|
|
225
277
|
}
|
|
226
278
|
|
|
279
|
+
interface TokenVerifierConfig {
|
|
280
|
+
authServiceUrl: string;
|
|
281
|
+
cacheTTL?: number;
|
|
282
|
+
cacheEnabled?: boolean;
|
|
283
|
+
}
|
|
284
|
+
declare class TokenVerifier {
|
|
285
|
+
private config;
|
|
286
|
+
private cache;
|
|
287
|
+
private cleanupInterval;
|
|
288
|
+
constructor(config: TokenVerifierConfig);
|
|
289
|
+
verifyToken(token: string): Promise<User | null>;
|
|
290
|
+
invalidateToken(token: string): void;
|
|
291
|
+
clearCache(): void;
|
|
292
|
+
getCacheStats(): {
|
|
293
|
+
size: number;
|
|
294
|
+
enabled: boolean;
|
|
295
|
+
ttl: number;
|
|
296
|
+
};
|
|
297
|
+
destroy(): void;
|
|
298
|
+
private getFromCache;
|
|
299
|
+
private setCache;
|
|
300
|
+
private startCleanup;
|
|
301
|
+
}
|
|
302
|
+
declare function createTokenVerifier(config: TokenVerifierConfig): TokenVerifier;
|
|
303
|
+
declare function getTokenVerifier(): TokenVerifier;
|
|
304
|
+
declare function verifyToken(token: string): Promise<User | null>;
|
|
305
|
+
|
|
227
306
|
declare class NextServerAuth extends AuthClient {
|
|
228
307
|
constructor(config: AuthConfig);
|
|
229
308
|
static parseTokenFromHeaders(headers: Headers): string | null;
|
|
@@ -281,4 +360,4 @@ interface AuthMiddlewareConfig {
|
|
|
281
360
|
declare function authMiddleware(config?: AuthMiddlewareConfig): (request: NextRequestLike) => NextResponseLike;
|
|
282
361
|
declare function createAuthMiddleware(config?: AuthMiddlewareConfig): (request: NextRequestLike) => NextResponseLike;
|
|
283
362
|
|
|
284
|
-
export { type AuditLog, AuthClient, type AuthConfig, type AuthResponse, AuthServer, AuthService, type CsrfTokenResponse, HttpClient, type LinkedAccount, type LoginData, type MFASetup, NextServerAuth, type OAuthConfig, type OAuthProvider, type RegisterData, type Session, type UpdateUserData, type UpfilesConfig, type UseAuthReturn, type User, type VerifyData, auth, authMiddleware, createAuthMiddleware, currentUser, getAuthServer, redirectIfAuthenticated, requireAuth };
|
|
363
|
+
export { type AuditLog, AuthClient, type AuthConfig, type AuthResponse, AuthServer, AuthService, type CsrfTokenResponse, HttpClient, type LinkedAccount, type LoginData, type MFASetup, NextServerAuth, type OAuthConfig, type OAuthProvider, type RegisterData, type Session, TokenVerifier, type UpdateUserData, type UpfilesConfig, type UseAuthReturn, type User, type VerifyData, auth, authMiddleware, createAuthMiddleware, createTokenVerifier, currentUser, getAuthServer, getTokenVerifier, redirectIfAuthenticated, requireAuth, verifyToken };
|