@aifabrix/miso-client 4.3.0 → 4.4.0
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/CHANGELOG.md +32 -0
- package/README.md +1 -2
- package/dist/express/client-token-endpoint.d.ts +2 -2
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +21 -3
- package/dist/express/client-token-endpoint.js.map +1 -1
- package/dist/express/error-handler.d.ts +8 -1
- package/dist/express/error-handler.d.ts.map +1 -1
- package/dist/express/error-handler.js +8 -1
- package/dist/express/error-handler.js.map +1 -1
- package/dist/express/error-response.d.ts +16 -4
- package/dist/express/error-response.d.ts.map +1 -1
- package/dist/express/error-response.js +16 -4
- package/dist/express/error-response.js.map +1 -1
- package/dist/express/error-types.d.ts +13 -0
- package/dist/express/error-types.d.ts.map +1 -1
- package/dist/express/error-types.js +13 -0
- package/dist/express/error-types.js.map +1 -1
- package/dist/express/index.d.ts +8 -4
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/index.js.map +1 -1
- package/dist/express/logger-context.middleware.d.ts +8 -4
- package/dist/express/logger-context.middleware.d.ts.map +1 -1
- package/dist/express/logger-context.middleware.js +9 -4
- package/dist/express/logger-context.middleware.js.map +1 -1
- package/dist/express/response-middleware.d.ts +4 -0
- package/dist/express/response-middleware.d.ts.map +1 -1
- package/dist/express/response-middleware.js +4 -0
- package/dist/express/response-middleware.js.map +1 -1
- package/dist/index.d.ts +169 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +164 -36
- package/dist/index.js.map +1 -1
- package/dist/services/application-context.service.d.ts +0 -1
- package/dist/services/application-context.service.d.ts.map +1 -1
- package/dist/services/application-context.service.js +12 -7
- package/dist/services/application-context.service.js.map +1 -1
- package/dist/services/auth-cache-helpers.d.ts +22 -0
- package/dist/services/auth-cache-helpers.d.ts.map +1 -0
- package/dist/services/auth-cache-helpers.js +85 -0
- package/dist/services/auth-cache-helpers.js.map +1 -0
- package/dist/services/auth-environment-token.d.ts +20 -0
- package/dist/services/auth-environment-token.d.ts.map +1 -0
- package/dist/services/auth-environment-token.js +94 -0
- package/dist/services/auth-environment-token.js.map +1 -0
- package/dist/services/auth-error-handler.d.ts.map +1 -1
- package/dist/services/auth-error-handler.js +1 -1
- package/dist/services/auth-error-handler.js.map +1 -1
- package/dist/services/auth.service.d.ts +16 -28
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +112 -208
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +3 -1
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +44 -9
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +3 -1
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +44 -9
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +8 -2
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/logger/index.d.ts +6 -4
- package/dist/services/logger/index.d.ts.map +1 -1
- package/dist/services/logger/index.js +1 -4
- package/dist/services/logger/index.js.map +1 -1
- package/dist/services/logger/logger-chain.d.ts +18 -8
- package/dist/services/logger/logger-chain.d.ts.map +1 -1
- package/dist/services/logger/logger-chain.js +35 -41
- package/dist/services/logger/logger-chain.js.map +1 -1
- package/dist/services/logger/logger-context-storage.d.ts +2 -0
- package/dist/services/logger/logger-context-storage.d.ts.map +1 -1
- package/dist/services/logger/logger-context-storage.js.map +1 -1
- package/dist/services/logger/logger-context.d.ts +0 -22
- package/dist/services/logger/logger-context.d.ts.map +1 -1
- package/dist/services/logger/logger-context.js +2 -50
- package/dist/services/logger/logger-context.js.map +1 -1
- package/dist/services/logger/logger.service.d.ts +37 -14
- package/dist/services/logger/logger.service.d.ts.map +1 -1
- package/dist/services/logger/logger.service.js +157 -133
- package/dist/services/logger/logger.service.js.map +1 -1
- package/dist/services/logger/unified-logger.service.d.ts.map +1 -1
- package/dist/services/logger/unified-logger.service.js +2 -34
- package/dist/services/logger/unified-logger.service.js.map +1 -1
- package/dist/services/permission.service.d.ts +12 -5
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +50 -10
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/redis.service.d.ts +29 -0
- package/dist/services/redis.service.d.ts.map +1 -1
- package/dist/services/redis.service.js +48 -5
- package/dist/services/redis.service.js.map +1 -1
- package/dist/services/role.service.d.ts +12 -5
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +38 -9
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/token-validation.service.d.ts +30 -0
- package/dist/services/token-validation.service.d.ts.map +1 -1
- package/dist/services/token-validation.service.js +30 -0
- package/dist/services/token-validation.service.js.map +1 -1
- package/dist/types/config.types.d.ts +38 -1
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js.map +1 -1
- package/dist/types/data-client.types.d.ts +4 -3
- package/dist/types/data-client.types.d.ts.map +1 -1
- package/dist/types/data-client.types.js.map +1 -1
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +3 -0
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/client-token-manager.d.ts.map +1 -1
- package/dist/utils/client-token-manager.js +9 -1
- package/dist/utils/client-token-manager.js.map +1 -1
- package/dist/utils/config-loader.d.ts +3 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +3 -1
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/data-client-audit.d.ts.map +1 -1
- package/dist/utils/data-client-audit.js +15 -2
- package/dist/utils/data-client-audit.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +17 -9
- package/dist/utils/data-client-auth.js.map +1 -1
- package/dist/utils/data-client-auto-init.d.ts.map +1 -1
- package/dist/utils/data-client-auto-init.js +110 -119
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-request.d.ts +0 -3
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +148 -97
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client-response.d.ts.map +1 -1
- package/dist/utils/data-client-response.js +93 -63
- package/dist/utils/data-client-response.js.map +1 -1
- package/dist/utils/data-client-utils.d.ts +2 -1
- package/dist/utils/data-client-utils.d.ts.map +1 -1
- package/dist/utils/data-client-utils.js +2 -1
- package/dist/utils/data-client-utils.js.map +1 -1
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +4 -1
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/data-masker.d.ts +3 -0
- package/dist/utils/data-masker.d.ts.map +1 -1
- package/dist/utils/data-masker.js +3 -0
- package/dist/utils/data-masker.js.map +1 -1
- package/dist/utils/filter-schema.utils.d.ts.map +1 -1
- package/dist/utils/filter-schema.utils.js +64 -46
- package/dist/utils/filter-schema.utils.js.map +1 -1
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +59 -75
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client-audit.js +31 -19
- package/dist/utils/http-client-audit.js.map +1 -1
- package/dist/utils/http-client-metadata.d.ts +2 -1
- package/dist/utils/http-client-metadata.d.ts.map +1 -1
- package/dist/utils/http-client-metadata.js +2 -1
- package/dist/utils/http-client-metadata.js.map +1 -1
- package/dist/utils/internal-http-client.d.ts +8 -4
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +25 -13
- package/dist/utils/internal-http-client.js.map +1 -1
- package/package.json +86 -84
package/dist/index.d.ts
CHANGED
|
@@ -52,58 +52,172 @@ export declare class MisoClient {
|
|
|
52
52
|
* @returns Validation result with valid flag and optional error message
|
|
53
53
|
*/
|
|
54
54
|
validateOrigin(req: Request, allowedOrigins?: string[]): OriginValidationResult;
|
|
55
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Get environment token using client credentials.
|
|
57
|
+
* @returns Environment token string or empty string on failure.
|
|
58
|
+
*/
|
|
56
59
|
getEnvironmentToken(): Promise<string>;
|
|
57
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Initiate login flow and return login URL for browser redirect.
|
|
62
|
+
* @param params - Login parameters.
|
|
63
|
+
* @param params.redirect - Final destination URL after authentication.
|
|
64
|
+
* @param params.state - Optional CSRF protection token.
|
|
65
|
+
* @returns Login response with loginUrl and state.
|
|
66
|
+
*/
|
|
58
67
|
login(params: {
|
|
59
68
|
redirect: string;
|
|
60
69
|
state?: string;
|
|
61
70
|
}): Promise<import("./types/config.types").LoginResponse>;
|
|
62
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Validate token with controller.
|
|
73
|
+
* @param token - User JWT token.
|
|
74
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
75
|
+
* @returns True if token is valid, otherwise false.
|
|
76
|
+
*/
|
|
63
77
|
validateToken(token: string, authStrategy?: AuthStrategy): Promise<boolean>;
|
|
64
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Get user information from token.
|
|
80
|
+
* @param token - User JWT token.
|
|
81
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
82
|
+
* @returns User info or null when not available.
|
|
83
|
+
*/
|
|
65
84
|
getUser(token: string, authStrategy?: AuthStrategy): Promise<UserInfo | null>;
|
|
66
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* Get user information from GET /api/v1/auth/user endpoint.
|
|
87
|
+
* @param token - User JWT token.
|
|
88
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
89
|
+
* @returns User info or null when not available.
|
|
90
|
+
*/
|
|
67
91
|
getUserInfo(token: string, authStrategy?: AuthStrategy): Promise<UserInfo | null>;
|
|
68
|
-
/**
|
|
92
|
+
/**
|
|
93
|
+
* Check if user is authenticated.
|
|
94
|
+
* @param token - User JWT token.
|
|
95
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
96
|
+
* @returns True if authenticated, otherwise false.
|
|
97
|
+
*/
|
|
69
98
|
isAuthenticated(token: string, authStrategy?: AuthStrategy): Promise<boolean>;
|
|
70
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* Logout user.
|
|
101
|
+
* @param params - Logout parameters.
|
|
102
|
+
* @param params.token - User JWT token.
|
|
103
|
+
* @returns Logout response.
|
|
104
|
+
*/
|
|
71
105
|
logout(params: {
|
|
72
106
|
token: string;
|
|
73
107
|
}): Promise<import("./types/config.types").LogoutResponse>;
|
|
74
|
-
/**
|
|
108
|
+
/**
|
|
109
|
+
* Refresh user access token using refresh token.
|
|
110
|
+
* @param refreshToken - Refresh token.
|
|
111
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
112
|
+
* @returns Refresh token response or null on failure.
|
|
113
|
+
*/
|
|
75
114
|
refreshToken(refreshToken: string, authStrategy?: AuthStrategy): Promise<import("./types/config.types").RefreshTokenResponse | null>;
|
|
76
|
-
/**
|
|
115
|
+
/**
|
|
116
|
+
* Validate token locally using JWKS (no API call).
|
|
117
|
+
* @param token - User JWT token.
|
|
118
|
+
* @param options - Optional validation options.
|
|
119
|
+
* @returns Validation result.
|
|
120
|
+
*/
|
|
77
121
|
validateTokenLocal(token: string, options?: TokenValidationOptions): Promise<TokenValidationResult>;
|
|
78
|
-
/**
|
|
122
|
+
/**
|
|
123
|
+
* Set or update Keycloak configuration for local validation.
|
|
124
|
+
* @param config - Keycloak configuration.
|
|
125
|
+
*/
|
|
79
126
|
setKeycloakConfig(config: KeycloakConfig): void;
|
|
80
|
-
/**
|
|
127
|
+
/**
|
|
128
|
+
* Clear JWKS cache.
|
|
129
|
+
* @param jwksUri - Optional JWKS URI to clear.
|
|
130
|
+
*/
|
|
81
131
|
clearJwksCache(jwksUri?: string): void;
|
|
82
|
-
/**
|
|
132
|
+
/**
|
|
133
|
+
* Clear validation result cache.
|
|
134
|
+
*/
|
|
83
135
|
clearValidationCache(): void;
|
|
84
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* Clear all token validation caches (JWKS + results).
|
|
138
|
+
*/
|
|
85
139
|
clearAllTokenCaches(): void;
|
|
86
|
-
/**
|
|
140
|
+
/**
|
|
141
|
+
* Get user roles (cached if Redis available).
|
|
142
|
+
* @param token - User JWT token.
|
|
143
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
144
|
+
* @returns Array of roles.
|
|
145
|
+
*/
|
|
87
146
|
getRoles(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
|
|
88
|
-
/**
|
|
147
|
+
/**
|
|
148
|
+
* Check if user has specific role.
|
|
149
|
+
* @param token - User JWT token.
|
|
150
|
+
* @param role - Role to check.
|
|
151
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
152
|
+
* @returns True if user has the role.
|
|
153
|
+
*/
|
|
89
154
|
hasRole(token: string, role: string, authStrategy?: AuthStrategy): Promise<boolean>;
|
|
90
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* Check if user has any of the specified roles.
|
|
157
|
+
* @param token - User JWT token.
|
|
158
|
+
* @param roles - Roles to check.
|
|
159
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
160
|
+
* @returns True if user has any of the roles.
|
|
161
|
+
*/
|
|
91
162
|
hasAnyRole(token: string, roles: string[], authStrategy?: AuthStrategy): Promise<boolean>;
|
|
92
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* Check if user has all of the specified roles.
|
|
165
|
+
* @param token - User JWT token.
|
|
166
|
+
* @param roles - Roles to check.
|
|
167
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
168
|
+
* @returns True if user has all roles.
|
|
169
|
+
*/
|
|
93
170
|
hasAllRoles(token: string, roles: string[], authStrategy?: AuthStrategy): Promise<boolean>;
|
|
94
|
-
/**
|
|
171
|
+
/**
|
|
172
|
+
* Force refresh roles from controller (bypass cache).
|
|
173
|
+
* @param token - User JWT token.
|
|
174
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
175
|
+
* @returns Array of roles.
|
|
176
|
+
*/
|
|
95
177
|
refreshRoles(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
|
|
96
|
-
/**
|
|
178
|
+
/**
|
|
179
|
+
* Get user permissions (cached if Redis available).
|
|
180
|
+
* @param token - User JWT token.
|
|
181
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
182
|
+
* @returns Array of permissions.
|
|
183
|
+
*/
|
|
97
184
|
getPermissions(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
|
|
98
|
-
/**
|
|
185
|
+
/**
|
|
186
|
+
* Check if user has specific permission.
|
|
187
|
+
* @param token - User JWT token.
|
|
188
|
+
* @param permission - Permission to check.
|
|
189
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
190
|
+
* @returns True if user has permission.
|
|
191
|
+
*/
|
|
99
192
|
hasPermission(token: string, permission: string, authStrategy?: AuthStrategy): Promise<boolean>;
|
|
100
|
-
/**
|
|
193
|
+
/**
|
|
194
|
+
* Check if user has any of the specified permissions.
|
|
195
|
+
* @param token - User JWT token.
|
|
196
|
+
* @param permissions - Permissions to check.
|
|
197
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
198
|
+
* @returns True if user has any permission.
|
|
199
|
+
*/
|
|
101
200
|
hasAnyPermission(token: string, permissions: string[], authStrategy?: AuthStrategy): Promise<boolean>;
|
|
102
|
-
/**
|
|
201
|
+
/**
|
|
202
|
+
* Check if user has all of the specified permissions.
|
|
203
|
+
* @param token - User JWT token.
|
|
204
|
+
* @param permissions - Permissions to check.
|
|
205
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
206
|
+
* @returns True if user has all permissions.
|
|
207
|
+
*/
|
|
103
208
|
hasAllPermissions(token: string, permissions: string[], authStrategy?: AuthStrategy): Promise<boolean>;
|
|
104
|
-
/**
|
|
209
|
+
/**
|
|
210
|
+
* Force refresh permissions from controller (bypass cache).
|
|
211
|
+
* @param token - User JWT token.
|
|
212
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
213
|
+
* @returns Array of permissions.
|
|
214
|
+
*/
|
|
105
215
|
refreshPermissions(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
|
|
106
|
-
/**
|
|
216
|
+
/**
|
|
217
|
+
* Clear cached permissions for a user.
|
|
218
|
+
* @param token - User JWT token.
|
|
219
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
220
|
+
*/
|
|
107
221
|
clearPermissionsCache(token: string, authStrategy?: AuthStrategy): Promise<void>;
|
|
108
222
|
/**
|
|
109
223
|
* Get logger service for application logging
|
|
@@ -122,20 +236,41 @@ export declare class MisoClient {
|
|
|
122
236
|
* Get current configuration
|
|
123
237
|
*/
|
|
124
238
|
getConfig(): MisoClientConfig;
|
|
125
|
-
/**
|
|
239
|
+
/**
|
|
240
|
+
* Check if Redis is connected.
|
|
241
|
+
* @returns True if Redis connection is active.
|
|
242
|
+
*/
|
|
126
243
|
isRedisConnected(): boolean;
|
|
127
|
-
/**
|
|
244
|
+
/**
|
|
245
|
+
* Make request with authentication strategy.
|
|
246
|
+
* @param method - HTTP method.
|
|
247
|
+
* @param url - Request URL.
|
|
248
|
+
* @param authStrategy - Authentication strategy to use.
|
|
249
|
+
* @param data - Optional request data.
|
|
250
|
+
* @param config - Optional Axios config overrides.
|
|
251
|
+
* @returns Parsed response data.
|
|
252
|
+
*/
|
|
128
253
|
requestWithAuthStrategy<T>(method: "GET" | "POST" | "PUT" | "DELETE", url: string, authStrategy: AuthStrategy, data?: unknown, config?: import("axios").AxiosRequestConfig): Promise<T>;
|
|
129
|
-
/**
|
|
254
|
+
/**
|
|
255
|
+
* Create authentication strategy helper.
|
|
256
|
+
* @param methods - Auth methods in priority order.
|
|
257
|
+
* @param bearerToken - Optional bearer token.
|
|
258
|
+
* @param apiKey - Optional API key.
|
|
259
|
+
* @returns Authentication strategy.
|
|
260
|
+
*/
|
|
130
261
|
createAuthStrategy(methods: ("bearer" | "client-token" | "client-credentials" | "api-key")[], bearerToken?: string, apiKey?: string): AuthStrategy;
|
|
131
|
-
/**
|
|
262
|
+
/**
|
|
263
|
+
* Get default authentication strategy.
|
|
264
|
+
* @param bearerToken - Optional bearer token.
|
|
265
|
+
* @returns Default authentication strategy.
|
|
266
|
+
*/
|
|
132
267
|
getDefaultAuthStrategy(bearerToken?: string): AuthStrategy;
|
|
133
268
|
}
|
|
134
269
|
export * from "./types/config.types";
|
|
135
|
-
export * from "./types/pagination.types";
|
|
270
|
+
export type * from "./types/pagination.types";
|
|
136
271
|
export * from "./types/filter.types";
|
|
137
272
|
export * from "./types/filter-schema.types";
|
|
138
|
-
export * from "./types/sort.types";
|
|
273
|
+
export type * from "./types/sort.types";
|
|
139
274
|
export type { ErrorResponse as ErrorResponseFromErrors, ErrorEnvelope, AuthErrorMethod, } from "./types/errors.types";
|
|
140
275
|
export { detectAuthMethodFromHeaders } from "./utils/http-error-handler";
|
|
141
276
|
export { AuthService } from "./services/auth.service";
|
|
@@ -147,9 +282,8 @@ export { LoggerService } from "./services/logger";
|
|
|
147
282
|
export { RedisService } from "./services/redis.service";
|
|
148
283
|
export { CacheService } from "./services/cache.service";
|
|
149
284
|
export { HttpClient } from "./utils/http-client";
|
|
150
|
-
export { getLogger
|
|
285
|
+
export { getLogger } from "./services/logger/unified-logger.factory";
|
|
151
286
|
export type { UnifiedLogger, } from "./services/logger/unified-logger.service";
|
|
152
|
-
export type { LoggerContext } from "./services/logger/logger-context-storage";
|
|
153
287
|
export { loadConfig } from "./utils/config-loader";
|
|
154
288
|
export { validateOrigin } from "./utils/origin-validator";
|
|
155
289
|
export { getEnvironmentToken } from "./utils/environment-token";
|
|
@@ -171,9 +305,10 @@ export type { EncryptResult } from "./services/encryption.service";
|
|
|
171
305
|
export { EncryptionError } from "./utils/encryption-error";
|
|
172
306
|
export type { EncryptionErrorCode } from "./utils/encryption-error";
|
|
173
307
|
export type { EncryptRequest, EncryptResponse, DecryptRequest, DecryptResponse, EncryptionStorage, } from "./api/types/encryption.types";
|
|
174
|
-
export { ResponseHelper,
|
|
308
|
+
export { ResponseHelper, injectResponseHelpers, asyncHandler, asyncHandlerNamed, ValidationHelper, AppError, createSuccessResponse, createErrorResponse, setErrorLogger, handleRouteError, getErrorTypeUri, getErrorTitle, sendErrorResponse, createClientTokenEndpoint, hasConfig, loggerContextMiddleware, } from "./express";
|
|
309
|
+
export type { PaginationMeta, ApiError, ValidationError, ApiResponse, ErrorLogger, RBACErrorExtensions, } from "./express";
|
|
175
310
|
export type { ClientTokenEndpointOptions, ClientTokenResponse, DataClientConfigResponse, } from "./express";
|
|
176
|
-
export { ErrorResponse as ExpressErrorResponse } from "./express/error-response";
|
|
311
|
+
export type { ErrorResponse as ExpressErrorResponse } from "./express/error-response";
|
|
177
312
|
export { DataClient, dataClient } from "./utils/data-client";
|
|
178
313
|
export type { DataClientConfig, ApiRequestOptions, InterceptorConfig, RequestMetrics, AuditConfig as DataClientAuditConfig, CacheEntry, NetworkError, TimeoutError, AuthenticationError, ApiError as DataClientApiError, } from "./types/data-client.types";
|
|
179
314
|
export { autoInitializeDataClient, getCachedDataClientConfig } from "./utils/data-client-auto-init";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMxD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAwC,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACxG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACf,MAAM,gCAAgC,CAAC;AAExC,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,gBAAgB;IA8DpC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;OAEG;IACH,aAAa,IAAI,OAAO;IAMxB;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,MAAM,GAAG,IAAI;IAerE;;;;;;;OAOG;IACH,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,sBAAsB;IAK/E
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,8 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.autoInitializeDataClient = exports.dataClient = exports.DataClient = exports.loggerContextMiddleware = exports.hasConfig = exports.createClientTokenEndpoint = exports.sendErrorResponse = exports.getErrorTitle = exports.getErrorTypeUri = exports.handleRouteError = exports.setErrorLogger = exports.createErrorResponse = exports.createSuccessResponse = exports.AppError = exports.ValidationHelper = exports.asyncHandlerNamed = exports.asyncHandler = exports.injectResponseHelpers = exports.ResponseHelper = exports.EncryptionError = exports.EncryptionService = exports.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.extractRequestContext = exports.extractLoggingContext = exports.validateUrl = exports.isBrowser = exports.resolveKeycloakUrl = exports.resolveControllerUrl = exports.extractClientTokenInfo = exports.getEnvironmentToken = exports.validateOrigin = exports.loadConfig = exports.
|
|
21
|
-
exports.TokenValidationService = exports.getCachedDataClientConfig = void 0;
|
|
20
|
+
exports.TokenValidationService = exports.getCachedDataClientConfig = exports.autoInitializeDataClient = exports.dataClient = exports.DataClient = exports.loggerContextMiddleware = exports.hasConfig = exports.createClientTokenEndpoint = exports.sendErrorResponse = exports.getErrorTitle = exports.getErrorTypeUri = exports.handleRouteError = exports.setErrorLogger = exports.createErrorResponse = exports.createSuccessResponse = exports.AppError = exports.ValidationHelper = exports.asyncHandlerNamed = exports.asyncHandler = exports.injectResponseHelpers = exports.ResponseHelper = exports.EncryptionError = exports.EncryptionService = exports.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.extractRequestContext = exports.extractLoggingContext = exports.validateUrl = exports.isBrowser = exports.resolveKeycloakUrl = exports.resolveControllerUrl = exports.extractClientTokenInfo = exports.getEnvironmentToken = exports.validateOrigin = exports.loadConfig = exports.getLogger = exports.HttpClient = exports.CacheService = exports.RedisService = exports.LoggerService = exports.BrowserRoleService = exports.BrowserPermissionService = exports.PermissionService = exports.RoleService = exports.AuthService = exports.detectAuthMethodFromHeaders = exports.MisoClient = void 0;
|
|
22
21
|
const auth_service_1 = require("./services/auth.service");
|
|
23
22
|
const role_service_1 = require("./services/role.service");
|
|
24
23
|
const permission_service_1 = require("./services/permission.service");
|
|
@@ -133,101 +132,215 @@ class MisoClient {
|
|
|
133
132
|
const origins = allowedOrigins ?? this.config.allowedOrigins;
|
|
134
133
|
return (0, origin_validator_1.validateOrigin)(req, origins);
|
|
135
134
|
}
|
|
136
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* Get environment token using client credentials.
|
|
137
|
+
* @returns Environment token string or empty string on failure.
|
|
138
|
+
*/
|
|
137
139
|
async getEnvironmentToken() {
|
|
138
140
|
return this.auth.getEnvironmentToken();
|
|
139
141
|
}
|
|
140
|
-
/**
|
|
142
|
+
/**
|
|
143
|
+
* Initiate login flow and return login URL for browser redirect.
|
|
144
|
+
* @param params - Login parameters.
|
|
145
|
+
* @param params.redirect - Final destination URL after authentication.
|
|
146
|
+
* @param params.state - Optional CSRF protection token.
|
|
147
|
+
* @returns Login response with loginUrl and state.
|
|
148
|
+
*/
|
|
141
149
|
async login(params) {
|
|
142
150
|
return this.auth.login(params);
|
|
143
151
|
}
|
|
144
|
-
/**
|
|
152
|
+
/**
|
|
153
|
+
* Validate token with controller.
|
|
154
|
+
* @param token - User JWT token.
|
|
155
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
156
|
+
* @returns True if token is valid, otherwise false.
|
|
157
|
+
*/
|
|
145
158
|
async validateToken(token, authStrategy) {
|
|
146
159
|
return this.auth.validateToken(token, authStrategy);
|
|
147
160
|
}
|
|
148
|
-
/**
|
|
161
|
+
/**
|
|
162
|
+
* Get user information from token.
|
|
163
|
+
* @param token - User JWT token.
|
|
164
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
165
|
+
* @returns User info or null when not available.
|
|
166
|
+
*/
|
|
149
167
|
async getUser(token, authStrategy) {
|
|
150
168
|
return this.auth.getUser(token, authStrategy);
|
|
151
169
|
}
|
|
152
|
-
/**
|
|
170
|
+
/**
|
|
171
|
+
* Get user information from GET /api/v1/auth/user endpoint.
|
|
172
|
+
* @param token - User JWT token.
|
|
173
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
174
|
+
* @returns User info or null when not available.
|
|
175
|
+
*/
|
|
153
176
|
async getUserInfo(token, authStrategy) {
|
|
154
177
|
return this.auth.getUserInfo(token, authStrategy);
|
|
155
178
|
}
|
|
156
|
-
/**
|
|
179
|
+
/**
|
|
180
|
+
* Check if user is authenticated.
|
|
181
|
+
* @param token - User JWT token.
|
|
182
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
183
|
+
* @returns True if authenticated, otherwise false.
|
|
184
|
+
*/
|
|
157
185
|
async isAuthenticated(token, authStrategy) {
|
|
158
186
|
return this.auth.isAuthenticated(token, authStrategy);
|
|
159
187
|
}
|
|
160
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* Logout user.
|
|
190
|
+
* @param params - Logout parameters.
|
|
191
|
+
* @param params.token - User JWT token.
|
|
192
|
+
* @returns Logout response.
|
|
193
|
+
*/
|
|
161
194
|
async logout(params) {
|
|
162
195
|
return this.auth.logout(params);
|
|
163
196
|
}
|
|
164
|
-
/**
|
|
197
|
+
/**
|
|
198
|
+
* Refresh user access token using refresh token.
|
|
199
|
+
* @param refreshToken - Refresh token.
|
|
200
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
201
|
+
* @returns Refresh token response or null on failure.
|
|
202
|
+
*/
|
|
165
203
|
async refreshToken(refreshToken, authStrategy) {
|
|
166
204
|
return this.auth.refreshToken(refreshToken, authStrategy);
|
|
167
205
|
}
|
|
168
|
-
/**
|
|
206
|
+
/**
|
|
207
|
+
* Validate token locally using JWKS (no API call).
|
|
208
|
+
* @param token - User JWT token.
|
|
209
|
+
* @param options - Optional validation options.
|
|
210
|
+
* @returns Validation result.
|
|
211
|
+
*/
|
|
169
212
|
async validateTokenLocal(token, options) {
|
|
170
213
|
return this.tokenValidation.validateTokenLocal(token, options);
|
|
171
214
|
}
|
|
172
|
-
/**
|
|
215
|
+
/**
|
|
216
|
+
* Set or update Keycloak configuration for local validation.
|
|
217
|
+
* @param config - Keycloak configuration.
|
|
218
|
+
*/
|
|
173
219
|
setKeycloakConfig(config) {
|
|
174
220
|
this.tokenValidation.setKeycloakConfig(config);
|
|
175
221
|
}
|
|
176
|
-
/**
|
|
222
|
+
/**
|
|
223
|
+
* Clear JWKS cache.
|
|
224
|
+
* @param jwksUri - Optional JWKS URI to clear.
|
|
225
|
+
*/
|
|
177
226
|
clearJwksCache(jwksUri) {
|
|
178
227
|
this.tokenValidation.clearCache(jwksUri);
|
|
179
228
|
}
|
|
180
|
-
/**
|
|
229
|
+
/**
|
|
230
|
+
* Clear validation result cache.
|
|
231
|
+
*/
|
|
181
232
|
clearValidationCache() {
|
|
182
233
|
this.tokenValidation.clearResultCache();
|
|
183
234
|
}
|
|
184
|
-
/**
|
|
235
|
+
/**
|
|
236
|
+
* Clear all token validation caches (JWKS + results).
|
|
237
|
+
*/
|
|
185
238
|
clearAllTokenCaches() {
|
|
186
239
|
this.tokenValidation.clearAllCaches();
|
|
187
240
|
}
|
|
188
241
|
// ==================== ROLE METHODS ====================
|
|
189
|
-
/**
|
|
242
|
+
/**
|
|
243
|
+
* Get user roles (cached if Redis available).
|
|
244
|
+
* @param token - User JWT token.
|
|
245
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
246
|
+
* @returns Array of roles.
|
|
247
|
+
*/
|
|
190
248
|
async getRoles(token, authStrategy) {
|
|
191
249
|
return this.roles.getRoles(token, authStrategy);
|
|
192
250
|
}
|
|
193
|
-
/**
|
|
251
|
+
/**
|
|
252
|
+
* Check if user has specific role.
|
|
253
|
+
* @param token - User JWT token.
|
|
254
|
+
* @param role - Role to check.
|
|
255
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
256
|
+
* @returns True if user has the role.
|
|
257
|
+
*/
|
|
194
258
|
async hasRole(token, role, authStrategy) {
|
|
195
259
|
return this.roles.hasRole(token, role, authStrategy);
|
|
196
260
|
}
|
|
197
|
-
/**
|
|
261
|
+
/**
|
|
262
|
+
* Check if user has any of the specified roles.
|
|
263
|
+
* @param token - User JWT token.
|
|
264
|
+
* @param roles - Roles to check.
|
|
265
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
266
|
+
* @returns True if user has any of the roles.
|
|
267
|
+
*/
|
|
198
268
|
async hasAnyRole(token, roles, authStrategy) {
|
|
199
269
|
return this.roles.hasAnyRole(token, roles, authStrategy);
|
|
200
270
|
}
|
|
201
|
-
/**
|
|
271
|
+
/**
|
|
272
|
+
* Check if user has all of the specified roles.
|
|
273
|
+
* @param token - User JWT token.
|
|
274
|
+
* @param roles - Roles to check.
|
|
275
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
276
|
+
* @returns True if user has all roles.
|
|
277
|
+
*/
|
|
202
278
|
async hasAllRoles(token, roles, authStrategy) {
|
|
203
279
|
return this.roles.hasAllRoles(token, roles, authStrategy);
|
|
204
280
|
}
|
|
205
|
-
/**
|
|
281
|
+
/**
|
|
282
|
+
* Force refresh roles from controller (bypass cache).
|
|
283
|
+
* @param token - User JWT token.
|
|
284
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
285
|
+
* @returns Array of roles.
|
|
286
|
+
*/
|
|
206
287
|
async refreshRoles(token, authStrategy) {
|
|
207
288
|
return this.roles.refreshRoles(token, authStrategy);
|
|
208
289
|
}
|
|
209
290
|
// ==================== PERMISSION METHODS ====================
|
|
210
|
-
/**
|
|
291
|
+
/**
|
|
292
|
+
* Get user permissions (cached if Redis available).
|
|
293
|
+
* @param token - User JWT token.
|
|
294
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
295
|
+
* @returns Array of permissions.
|
|
296
|
+
*/
|
|
211
297
|
async getPermissions(token, authStrategy) {
|
|
212
298
|
return this.permissions.getPermissions(token, authStrategy);
|
|
213
299
|
}
|
|
214
|
-
/**
|
|
300
|
+
/**
|
|
301
|
+
* Check if user has specific permission.
|
|
302
|
+
* @param token - User JWT token.
|
|
303
|
+
* @param permission - Permission to check.
|
|
304
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
305
|
+
* @returns True if user has permission.
|
|
306
|
+
*/
|
|
215
307
|
async hasPermission(token, permission, authStrategy) {
|
|
216
308
|
return this.permissions.hasPermission(token, permission, authStrategy);
|
|
217
309
|
}
|
|
218
|
-
/**
|
|
310
|
+
/**
|
|
311
|
+
* Check if user has any of the specified permissions.
|
|
312
|
+
* @param token - User JWT token.
|
|
313
|
+
* @param permissions - Permissions to check.
|
|
314
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
315
|
+
* @returns True if user has any permission.
|
|
316
|
+
*/
|
|
219
317
|
async hasAnyPermission(token, permissions, authStrategy) {
|
|
220
318
|
return this.permissions.hasAnyPermission(token, permissions, authStrategy);
|
|
221
319
|
}
|
|
222
|
-
/**
|
|
320
|
+
/**
|
|
321
|
+
* Check if user has all of the specified permissions.
|
|
322
|
+
* @param token - User JWT token.
|
|
323
|
+
* @param permissions - Permissions to check.
|
|
324
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
325
|
+
* @returns True if user has all permissions.
|
|
326
|
+
*/
|
|
223
327
|
async hasAllPermissions(token, permissions, authStrategy) {
|
|
224
328
|
return this.permissions.hasAllPermissions(token, permissions, authStrategy);
|
|
225
329
|
}
|
|
226
|
-
/**
|
|
330
|
+
/**
|
|
331
|
+
* Force refresh permissions from controller (bypass cache).
|
|
332
|
+
* @param token - User JWT token.
|
|
333
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
334
|
+
* @returns Array of permissions.
|
|
335
|
+
*/
|
|
227
336
|
async refreshPermissions(token, authStrategy) {
|
|
228
337
|
return this.permissions.refreshPermissions(token, authStrategy);
|
|
229
338
|
}
|
|
230
|
-
/**
|
|
339
|
+
/**
|
|
340
|
+
* Clear cached permissions for a user.
|
|
341
|
+
* @param token - User JWT token.
|
|
342
|
+
* @param authStrategy - Optional authentication strategy override.
|
|
343
|
+
*/
|
|
231
344
|
async clearPermissionsCache(token, authStrategy) {
|
|
232
345
|
return this.permissions.clearPermissionsCache(token, authStrategy);
|
|
233
346
|
}
|
|
@@ -260,19 +373,40 @@ class MisoClient {
|
|
|
260
373
|
getConfig() {
|
|
261
374
|
return { ...this.config };
|
|
262
375
|
}
|
|
263
|
-
/**
|
|
376
|
+
/**
|
|
377
|
+
* Check if Redis is connected.
|
|
378
|
+
* @returns True if Redis connection is active.
|
|
379
|
+
*/
|
|
264
380
|
isRedisConnected() {
|
|
265
381
|
return this.redis.isConnected();
|
|
266
382
|
}
|
|
267
|
-
/**
|
|
383
|
+
/**
|
|
384
|
+
* Make request with authentication strategy.
|
|
385
|
+
* @param method - HTTP method.
|
|
386
|
+
* @param url - Request URL.
|
|
387
|
+
* @param authStrategy - Authentication strategy to use.
|
|
388
|
+
* @param data - Optional request data.
|
|
389
|
+
* @param config - Optional Axios config overrides.
|
|
390
|
+
* @returns Parsed response data.
|
|
391
|
+
*/
|
|
268
392
|
async requestWithAuthStrategy(method, url, authStrategy, data, config) {
|
|
269
393
|
return this.httpClient.requestWithAuthStrategy(method, url, authStrategy, data, config);
|
|
270
394
|
}
|
|
271
|
-
/**
|
|
395
|
+
/**
|
|
396
|
+
* Create authentication strategy helper.
|
|
397
|
+
* @param methods - Auth methods in priority order.
|
|
398
|
+
* @param bearerToken - Optional bearer token.
|
|
399
|
+
* @param apiKey - Optional API key.
|
|
400
|
+
* @returns Authentication strategy.
|
|
401
|
+
*/
|
|
272
402
|
createAuthStrategy(methods, bearerToken, apiKey) {
|
|
273
403
|
return { methods, bearerToken, apiKey };
|
|
274
404
|
}
|
|
275
|
-
/**
|
|
405
|
+
/**
|
|
406
|
+
* Get default authentication strategy.
|
|
407
|
+
* @param bearerToken - Optional bearer token.
|
|
408
|
+
* @returns Default authentication strategy.
|
|
409
|
+
*/
|
|
276
410
|
getDefaultAuthStrategy(bearerToken) {
|
|
277
411
|
return auth_strategy_1.AuthStrategyHandler.getDefaultStrategy(bearerToken);
|
|
278
412
|
}
|
|
@@ -280,11 +414,8 @@ class MisoClient {
|
|
|
280
414
|
exports.MisoClient = MisoClient;
|
|
281
415
|
// Export types
|
|
282
416
|
__exportStar(require("./types/config.types"), exports);
|
|
283
|
-
// Export pagination, filter, sort types
|
|
284
|
-
__exportStar(require("./types/pagination.types"), exports);
|
|
285
417
|
__exportStar(require("./types/filter.types"), exports);
|
|
286
418
|
__exportStar(require("./types/filter-schema.types"), exports);
|
|
287
|
-
__exportStar(require("./types/sort.types"), exports);
|
|
288
419
|
// Export detectAuthMethodFromHeaders helper for advanced usage
|
|
289
420
|
var http_error_handler_1 = require("./utils/http-error-handler");
|
|
290
421
|
Object.defineProperty(exports, "detectAuthMethodFromHeaders", { enumerable: true, get: function () { return http_error_handler_1.detectAuthMethodFromHeaders; } });
|
|
@@ -310,9 +441,6 @@ Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function (
|
|
|
310
441
|
// Export unified logging interface
|
|
311
442
|
var unified_logger_factory_1 = require("./services/logger/unified-logger.factory");
|
|
312
443
|
Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return unified_logger_factory_1.getLogger; } });
|
|
313
|
-
Object.defineProperty(exports, "setLoggerContext", { enumerable: true, get: function () { return unified_logger_factory_1.setLoggerContext; } });
|
|
314
|
-
Object.defineProperty(exports, "clearLoggerContext", { enumerable: true, get: function () { return unified_logger_factory_1.clearLoggerContext; } });
|
|
315
|
-
Object.defineProperty(exports, "mergeLoggerContext", { enumerable: true, get: function () { return unified_logger_factory_1.mergeLoggerContext; } });
|
|
316
444
|
// Export utilities
|
|
317
445
|
var config_loader_1 = require("./utils/config-loader");
|
|
318
446
|
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_loader_1.loadConfig; } });
|