@aifabrix/miso-client 2.1.2 → 2.2.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/README.md +45 -0
- package/dist/index.d.ts +24 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -7
- package/dist/index.js.map +1 -1
- package/dist/services/auth.service.d.ts +22 -5
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +89 -11
- package/dist/services/auth.service.js.map +1 -1
- package/dist/types/config.types.d.ts +20 -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 +267 -0
- package/dist/types/data-client.types.d.ts.map +1 -0
- package/dist/types/data-client.types.js +53 -0
- package/dist/types/data-client.types.js.map +1 -0
- package/dist/utils/data-client.d.ts +113 -0
- package/dist/utils/data-client.d.ts.map +1 -0
- package/dist/utils/data-client.js +703 -0
- package/dist/utils/data-client.js.map +1 -0
- package/dist/utils/internal-http-client.d.ts +6 -1
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +61 -7
- package/dist/utils/internal-http-client.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -30,6 +30,7 @@ The **AI Fabrix Miso Client SDK** provides authentication, authorization, and lo
|
|
|
30
30
|
- Token revocation support
|
|
31
31
|
- Secure token storage
|
|
32
32
|
- Data encryption/decryption (AES-256-GCM)
|
|
33
|
+
- **Authenticated redirect validation**: Login redirect URLs are validated server-side against registered app domains. All redirect requests require valid client credentials, preventing open redirect attacks and making it very difficult to use wrong redirect URLs.
|
|
33
34
|
|
|
34
35
|
### 📊 Compliance & Audit
|
|
35
36
|
|
|
@@ -95,6 +96,7 @@ The **AI Fabrix Miso Client SDK** provides authentication, authorization, and lo
|
|
|
95
96
|
- Works with any framework (Express, Next.js, NestJS, Fastify)
|
|
96
97
|
- TypeScript-first with full type definitions
|
|
97
98
|
- Browser and Node.js support
|
|
99
|
+
- **DataClient Browser Wrapper** - Enhanced HTTP client for React/Vue/Angular with ISO 27001 audit logging, caching, retry logic, and more
|
|
98
100
|
|
|
99
101
|
**Flexible Configuration**
|
|
100
102
|
|
|
@@ -150,6 +152,49 @@ const isValid = await client.auth.validateToken(token);
|
|
|
150
152
|
→ [Environment configuration example](examples/env-config-example.ts)
|
|
151
153
|
→ [Manual configuration example](examples/manual-config-example.ts)
|
|
152
154
|
|
|
155
|
+
### Browser/Frontend Usage (DataClient)
|
|
156
|
+
|
|
157
|
+
For React, Vue, Angular, or other front-end applications, use **DataClient** - a browser-compatible HTTP client wrapper with ISO 27001 audit logging, caching, retry logic, and more:
|
|
158
|
+
|
|
159
|
+
**⚠️ Security Warning:** Never expose `clientSecret` in browser/client-side code. Use the Server-Provided Client Token Pattern instead.
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
import { DataClient } from '@aifabrix/miso-client';
|
|
163
|
+
|
|
164
|
+
// Server provides client token (from initial page load or API endpoint)
|
|
165
|
+
const initialClientToken = window.INITIAL_CLIENT_TOKEN; // From server
|
|
166
|
+
const tokenExpiresAt = window.INITIAL_CLIENT_TOKEN_EXPIRES_AT;
|
|
167
|
+
|
|
168
|
+
// Browser-safe configuration WITHOUT clientSecret
|
|
169
|
+
const dataClient = new DataClient({
|
|
170
|
+
baseUrl: 'https://api.example.com',
|
|
171
|
+
misoConfig: {
|
|
172
|
+
controllerUrl: 'https://controller.aifabrix.ai',
|
|
173
|
+
clientId: 'ctrl-dev-my-app',
|
|
174
|
+
// ❌ DO NOT include clientSecret in browser code
|
|
175
|
+
|
|
176
|
+
// ✅ Use server-provided token
|
|
177
|
+
clientToken: initialClientToken,
|
|
178
|
+
clientTokenExpiresAt: tokenExpiresAt,
|
|
179
|
+
|
|
180
|
+
// ✅ Refresh callback calls your server endpoint
|
|
181
|
+
onClientTokenRefresh: async () => {
|
|
182
|
+
const response = await fetch('/api/client-token', {
|
|
183
|
+
credentials: 'include', // Include cookies for auth
|
|
184
|
+
});
|
|
185
|
+
return await response.json(); // { token: string, expiresIn: number }
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
// Make authenticated requests with automatic audit logging
|
|
191
|
+
const users = await dataClient.get('/api/users');
|
|
192
|
+
const newUser = await dataClient.post('/api/users', { name: 'John' });
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
→ [DataClient Documentation](docs/data-client.md) - Includes security guide and Client Token Pattern
|
|
196
|
+
→ [DataClient API Reference](docs/api-reference.md#dataclient)
|
|
197
|
+
|
|
153
198
|
---
|
|
154
199
|
|
|
155
200
|
### Infrastructure Setup
|
package/dist/index.d.ts
CHANGED
|
@@ -42,10 +42,22 @@ export declare class MisoClient {
|
|
|
42
42
|
*/
|
|
43
43
|
getEnvironmentToken(): Promise<string>;
|
|
44
44
|
/**
|
|
45
|
-
* Initiate login flow by
|
|
46
|
-
* Returns the login URL for browser redirect or manual navigation
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
* Initiate login flow by calling controller
|
|
46
|
+
* Returns the login URL and state for browser redirect or manual navigation
|
|
47
|
+
*
|
|
48
|
+
* Important: Your application only needs to know about your own app URLs and the miso-controller.
|
|
49
|
+
* The miso-controller manages all authentication flows internally, including OAuth callbacks with Keycloak.
|
|
50
|
+
* You don't need to handle OAuth callbacks in your application.
|
|
51
|
+
*
|
|
52
|
+
* @param params - Login parameters
|
|
53
|
+
* @param params.redirect - Required final destination URL in your application where the user should be redirected after successful authentication. This is a URL in your app (e.g., 'https://myapp.com/dashboard'). The miso-controller handles the OAuth callback internally and then redirects the user to this URL.
|
|
54
|
+
* @param params.state - Optional CSRF protection token (auto-generated by controller if omitted)
|
|
55
|
+
* @returns Login response with loginUrl (the Keycloak authentication URL) and state
|
|
56
|
+
*/
|
|
57
|
+
login(params: {
|
|
58
|
+
redirect: string;
|
|
59
|
+
state?: string;
|
|
60
|
+
}): Promise<import("./types/config.types").LoginResponse>;
|
|
49
61
|
/**
|
|
50
62
|
* Validate token with controller
|
|
51
63
|
* @param token - User authentication token
|
|
@@ -72,8 +84,13 @@ export declare class MisoClient {
|
|
|
72
84
|
isAuthenticated(token: string, authStrategy?: AuthStrategy): Promise<boolean>;
|
|
73
85
|
/**
|
|
74
86
|
* Logout user
|
|
87
|
+
* @param params - Logout parameters
|
|
88
|
+
* @param params.token - Access token to invalidate
|
|
89
|
+
* @returns Logout response with success message
|
|
75
90
|
*/
|
|
76
|
-
logout(
|
|
91
|
+
logout(params: {
|
|
92
|
+
token: string;
|
|
93
|
+
}): Promise<import("./types/config.types").LogoutResponse>;
|
|
77
94
|
/**
|
|
78
95
|
* Get user roles (cached in Redis if available)
|
|
79
96
|
* @param token - User authentication token
|
|
@@ -207,4 +224,6 @@ export * from "./utils/sort.utils";
|
|
|
207
224
|
export { MisoClientError, ApiErrorException, transformError, handleApiError, } from "./utils/errors";
|
|
208
225
|
export { ResponseHelper, PaginationMeta, injectResponseHelpers, asyncHandler, asyncHandlerNamed, ValidationHelper, AppError, ApiError, ValidationError, ApiResponse, createSuccessResponse, createErrorResponse, ErrorLogger, setErrorLogger, handleRouteError, RBACErrorExtensions, getErrorTypeUri, getErrorTitle, sendErrorResponse, EncryptionUtil, } from "./express";
|
|
209
226
|
export { ErrorResponse as ExpressErrorResponse } from "./express/error-response";
|
|
227
|
+
export { DataClient, dataClient } from "./utils/data-client";
|
|
228
|
+
export type { DataClientConfig, ApiRequestOptions, InterceptorConfig, RequestMetrics, AuditConfig as DataClientAuditConfig, CacheEntry, NetworkError, TimeoutError, AuthenticationError, ApiError as DataClientApiError, } from "./types/data-client.types";
|
|
210
229
|
//# 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;;GAEG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhF,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,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,WAAW,CAAS;gBAEhB,MAAM,EAAE,gBAAgB;IA4CpC;;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;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +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.EncryptionUtil = 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.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.loadConfig = exports.HttpClient = exports.CacheService = exports.RedisService = exports.LoggerService = exports.RoleService = exports.AuthService = exports.MisoClient = void 0;
|
|
20
|
+
exports.dataClient = exports.DataClient = exports.EncryptionUtil = 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.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.loadConfig = exports.HttpClient = exports.CacheService = exports.RedisService = exports.LoggerService = exports.RoleService = exports.AuthService = exports.MisoClient = void 0;
|
|
21
21
|
const auth_service_1 = require("./services/auth.service");
|
|
22
22
|
const role_service_1 = require("./services/role.service");
|
|
23
23
|
const permission_service_1 = require("./services/permission.service");
|
|
@@ -112,11 +112,20 @@ class MisoClient {
|
|
|
112
112
|
return this.auth.getEnvironmentToken();
|
|
113
113
|
}
|
|
114
114
|
/**
|
|
115
|
-
* Initiate login flow by
|
|
116
|
-
* Returns the login URL for browser redirect or manual navigation
|
|
115
|
+
* Initiate login flow by calling controller
|
|
116
|
+
* Returns the login URL and state for browser redirect or manual navigation
|
|
117
|
+
*
|
|
118
|
+
* Important: Your application only needs to know about your own app URLs and the miso-controller.
|
|
119
|
+
* The miso-controller manages all authentication flows internally, including OAuth callbacks with Keycloak.
|
|
120
|
+
* You don't need to handle OAuth callbacks in your application.
|
|
121
|
+
*
|
|
122
|
+
* @param params - Login parameters
|
|
123
|
+
* @param params.redirect - Required final destination URL in your application where the user should be redirected after successful authentication. This is a URL in your app (e.g., 'https://myapp.com/dashboard'). The miso-controller handles the OAuth callback internally and then redirects the user to this URL.
|
|
124
|
+
* @param params.state - Optional CSRF protection token (auto-generated by controller if omitted)
|
|
125
|
+
* @returns Login response with loginUrl (the Keycloak authentication URL) and state
|
|
117
126
|
*/
|
|
118
|
-
login(
|
|
119
|
-
return this.auth.login(
|
|
127
|
+
async login(params) {
|
|
128
|
+
return this.auth.login(params);
|
|
120
129
|
}
|
|
121
130
|
/**
|
|
122
131
|
* Validate token with controller
|
|
@@ -152,9 +161,12 @@ class MisoClient {
|
|
|
152
161
|
}
|
|
153
162
|
/**
|
|
154
163
|
* Logout user
|
|
164
|
+
* @param params - Logout parameters
|
|
165
|
+
* @param params.token - Access token to invalidate
|
|
166
|
+
* @returns Logout response with success message
|
|
155
167
|
*/
|
|
156
|
-
async logout() {
|
|
157
|
-
return this.auth.logout();
|
|
168
|
+
async logout(params) {
|
|
169
|
+
return this.auth.logout(params);
|
|
158
170
|
}
|
|
159
171
|
// ==================== AUTHORIZATION METHODS ====================
|
|
160
172
|
/**
|
|
@@ -368,4 +380,8 @@ Object.defineProperty(exports, "getErrorTypeUri", { enumerable: true, get: funct
|
|
|
368
380
|
Object.defineProperty(exports, "getErrorTitle", { enumerable: true, get: function () { return express_1.getErrorTitle; } });
|
|
369
381
|
Object.defineProperty(exports, "sendErrorResponse", { enumerable: true, get: function () { return express_1.sendErrorResponse; } });
|
|
370
382
|
Object.defineProperty(exports, "EncryptionUtil", { enumerable: true, get: function () { return express_1.EncryptionUtil; } });
|
|
383
|
+
// Export DataClient browser wrapper
|
|
384
|
+
var data_client_1 = require("./utils/data-client");
|
|
385
|
+
Object.defineProperty(exports, "DataClient", { enumerable: true, get: function () { return data_client_1.DataClient; } });
|
|
386
|
+
Object.defineProperty(exports, "dataClient", { enumerable: true, get: function () { return data_client_1.dataClient; } });
|
|
371
387
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { HttpClient } from "../utils/http-client";
|
|
5
5
|
import { RedisService } from "./redis.service";
|
|
6
|
-
import { UserInfo, AuthStrategy } from "../types/config.types";
|
|
6
|
+
import { UserInfo, AuthStrategy, LoginResponse, LogoutResponse } from "../types/config.types";
|
|
7
7
|
export declare class AuthService {
|
|
8
8
|
private httpClient;
|
|
9
9
|
private redis;
|
|
@@ -24,10 +24,22 @@ export declare class AuthService {
|
|
|
24
24
|
*/
|
|
25
25
|
getEnvironmentToken(): Promise<string>;
|
|
26
26
|
/**
|
|
27
|
-
* Initiate login flow by
|
|
28
|
-
* Returns the login URL for browser redirect or manual navigation
|
|
27
|
+
* Initiate login flow by calling controller
|
|
28
|
+
* Returns the login URL and state for browser redirect or manual navigation
|
|
29
|
+
*
|
|
30
|
+
* Important: Your application only needs to know about your own app URLs and the miso-controller.
|
|
31
|
+
* The miso-controller manages all authentication flows internally, including OAuth callbacks with Keycloak.
|
|
32
|
+
* You don't need to handle OAuth callbacks in your application.
|
|
33
|
+
*
|
|
34
|
+
* @param params - Login parameters
|
|
35
|
+
* @param params.redirect - Required final destination URL in your application where the user should be redirected after successful authentication. This is a URL in your app (e.g., 'https://myapp.com/dashboard'). The miso-controller handles the OAuth callback internally and then redirects the user to this URL.
|
|
36
|
+
* @param params.state - Optional CSRF protection token (auto-generated by controller if omitted)
|
|
37
|
+
* @returns Login response with loginUrl (the Keycloak authentication URL) and state
|
|
29
38
|
*/
|
|
30
|
-
login(
|
|
39
|
+
login(params: {
|
|
40
|
+
redirect: string;
|
|
41
|
+
state?: string;
|
|
42
|
+
}): Promise<LoginResponse>;
|
|
31
43
|
/**
|
|
32
44
|
* Validate token with controller
|
|
33
45
|
* If API_KEY is configured and token matches, returns true without calling controller
|
|
@@ -53,8 +65,13 @@ export declare class AuthService {
|
|
|
53
65
|
* Logout user
|
|
54
66
|
* Gracefully handles cases where there's no active session (400 Bad Request)
|
|
55
67
|
* Only throws errors for unexpected failures (network errors, 5xx errors, etc.)
|
|
68
|
+
* @param params - Logout parameters
|
|
69
|
+
* @param params.token - Access token to invalidate
|
|
70
|
+
* @returns Logout response with success message
|
|
56
71
|
*/
|
|
57
|
-
logout(
|
|
72
|
+
logout(params: {
|
|
73
|
+
token: string;
|
|
74
|
+
}): Promise<LogoutResponse>;
|
|
58
75
|
/**
|
|
59
76
|
* Check if user is authenticated (has valid token)
|
|
60
77
|
* @param token - User authentication token
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,QAAQ,EAER,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;gBAErB,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY;IAMvD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAqF5C
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,QAAQ,EAER,YAAY,EACZ,aAAa,EACb,cAAc,EACf,MAAM,uBAAuB,CAAC;AAG/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;gBAErB,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY;IAMvD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAqF5C;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsF1B;;;;;OAKG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAuB3B;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAuB3B;;;;;;;OAOG;IACG,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAiHhE;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;CAGpB"}
|
|
@@ -127,12 +127,77 @@ class AuthService {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
|
-
* Initiate login flow by
|
|
131
|
-
* Returns the login URL for browser redirect or manual navigation
|
|
130
|
+
* Initiate login flow by calling controller
|
|
131
|
+
* Returns the login URL and state for browser redirect or manual navigation
|
|
132
|
+
*
|
|
133
|
+
* Important: Your application only needs to know about your own app URLs and the miso-controller.
|
|
134
|
+
* The miso-controller manages all authentication flows internally, including OAuth callbacks with Keycloak.
|
|
135
|
+
* You don't need to handle OAuth callbacks in your application.
|
|
136
|
+
*
|
|
137
|
+
* @param params - Login parameters
|
|
138
|
+
* @param params.redirect - Required final destination URL in your application where the user should be redirected after successful authentication. This is a URL in your app (e.g., 'https://myapp.com/dashboard'). The miso-controller handles the OAuth callback internally and then redirects the user to this URL.
|
|
139
|
+
* @param params.state - Optional CSRF protection token (auto-generated by controller if omitted)
|
|
140
|
+
* @returns Login response with loginUrl (the Keycloak authentication URL) and state
|
|
132
141
|
*/
|
|
133
|
-
login(
|
|
134
|
-
|
|
135
|
-
|
|
142
|
+
async login(params) {
|
|
143
|
+
const correlationId = this.generateCorrelationId();
|
|
144
|
+
const clientId = this.config.clientId;
|
|
145
|
+
try {
|
|
146
|
+
// Build query parameters
|
|
147
|
+
const queryParams = {
|
|
148
|
+
redirect: params.redirect,
|
|
149
|
+
};
|
|
150
|
+
// Add state if provided
|
|
151
|
+
if (params.state) {
|
|
152
|
+
queryParams.state = params.state;
|
|
153
|
+
}
|
|
154
|
+
// Make GET request with query parameters
|
|
155
|
+
const response = await this.httpClient.request("GET", "/api/v1/auth/login", undefined, {
|
|
156
|
+
params: queryParams,
|
|
157
|
+
});
|
|
158
|
+
return response;
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
// Check if it's a MisoClientError (converted from AxiosError by HttpClient)
|
|
162
|
+
if (error instanceof errors_1.MisoClientError) {
|
|
163
|
+
const errorDetails = {
|
|
164
|
+
statusCode: error.statusCode,
|
|
165
|
+
message: error.message,
|
|
166
|
+
errorResponse: error.errorResponse,
|
|
167
|
+
errorBody: error.errorBody,
|
|
168
|
+
};
|
|
169
|
+
throw new Error(`Login failed: ${error.message}. ` +
|
|
170
|
+
`Full response: ${JSON.stringify(errorDetails)} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
171
|
+
}
|
|
172
|
+
// Check if it's an AxiosError (shouldn't happen after HttpClient, but handle just in case)
|
|
173
|
+
if (error &&
|
|
174
|
+
typeof error === "object" &&
|
|
175
|
+
"isAxiosError" in error &&
|
|
176
|
+
error.isAxiosError) {
|
|
177
|
+
const axiosError = error;
|
|
178
|
+
const responseDetails = [];
|
|
179
|
+
if (axiosError.response) {
|
|
180
|
+
responseDetails.push(`status: ${axiosError.response.status}`);
|
|
181
|
+
responseDetails.push(`statusText: ${axiosError.response.statusText}`);
|
|
182
|
+
responseDetails.push(`data: ${JSON.stringify(axiosError.response.data)}`);
|
|
183
|
+
if (axiosError.response.headers) {
|
|
184
|
+
responseDetails.push(`headers: ${JSON.stringify(axiosError.response.headers)}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
else if (axiosError.request) {
|
|
188
|
+
responseDetails.push(`request: ${JSON.stringify(axiosError.request)}`);
|
|
189
|
+
responseDetails.push(`message: ${axiosError.message}`);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
responseDetails.push(`message: ${axiosError.message}`);
|
|
193
|
+
}
|
|
194
|
+
throw new Error(`Login failed: ${axiosError.message}. ` +
|
|
195
|
+
`Full response: {${responseDetails.join(", ")}} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
196
|
+
}
|
|
197
|
+
// Non-Axios/MisoClientError (network errors, timeouts, etc.)
|
|
198
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
199
|
+
throw new Error(`Login failed: ${errorMessage} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
200
|
+
}
|
|
136
201
|
}
|
|
137
202
|
/**
|
|
138
203
|
* Validate token with controller
|
|
@@ -201,20 +266,24 @@ class AuthService {
|
|
|
201
266
|
* Logout user
|
|
202
267
|
* Gracefully handles cases where there's no active session (400 Bad Request)
|
|
203
268
|
* Only throws errors for unexpected failures (network errors, 5xx errors, etc.)
|
|
269
|
+
* @param params - Logout parameters
|
|
270
|
+
* @param params.token - Access token to invalidate
|
|
271
|
+
* @returns Logout response with success message
|
|
204
272
|
*/
|
|
205
|
-
async logout() {
|
|
273
|
+
async logout(params) {
|
|
206
274
|
const correlationId = this.generateCorrelationId();
|
|
207
275
|
const clientId = this.config.clientId;
|
|
208
276
|
try {
|
|
209
277
|
// Backend extracts app/env from client token
|
|
210
|
-
await this.httpClient.request("POST", "/api/v1/auth/logout");
|
|
278
|
+
const response = await this.httpClient.request("POST", "/api/v1/auth/logout", { token: params.token });
|
|
279
|
+
return response;
|
|
211
280
|
}
|
|
212
281
|
catch (error) {
|
|
213
282
|
// Check if it's a MisoClientError (converted from AxiosError by HttpClient)
|
|
214
283
|
if (error instanceof errors_1.MisoClientError) {
|
|
215
284
|
// Gracefully handle 400 Bad Request (no session, already logged out, etc.)
|
|
216
285
|
if (error.statusCode === 400) {
|
|
217
|
-
// Log the response for debugging but
|
|
286
|
+
// Log the response for debugging but return a success response
|
|
218
287
|
const errorDetails = {
|
|
219
288
|
statusCode: error.statusCode,
|
|
220
289
|
message: error.message,
|
|
@@ -223,8 +292,12 @@ class AuthService {
|
|
|
223
292
|
};
|
|
224
293
|
console.warn(`Logout: No active session or invalid request (400). ` +
|
|
225
294
|
`Response: ${JSON.stringify(errorDetails)} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
226
|
-
// Return
|
|
227
|
-
return
|
|
295
|
+
// Return a success response - logout is idempotent
|
|
296
|
+
return {
|
|
297
|
+
success: true,
|
|
298
|
+
message: "Logout successful (no active session)",
|
|
299
|
+
timestamp: new Date().toISOString(),
|
|
300
|
+
};
|
|
228
301
|
}
|
|
229
302
|
// For other HTTP errors (401, 403, 500, etc.), include full details
|
|
230
303
|
const errorDetails = {
|
|
@@ -249,7 +322,12 @@ class AuthService {
|
|
|
249
322
|
: "No response data";
|
|
250
323
|
console.warn(`Logout: No active session or invalid request (400). ` +
|
|
251
324
|
`Response: ${responseData} [correlationId: ${correlationId}, clientId: ${clientId}]`);
|
|
252
|
-
|
|
325
|
+
// Return a success response - logout is idempotent
|
|
326
|
+
return {
|
|
327
|
+
success: true,
|
|
328
|
+
message: "Logout successful (no active session)",
|
|
329
|
+
timestamp: new Date().toISOString(),
|
|
330
|
+
};
|
|
253
331
|
}
|
|
254
332
|
// For other HTTP errors, include full details
|
|
255
333
|
const responseDetails = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,4CAAkD;AAElD,MAAa,WAAW;IAKtB,YAAY,UAAsB,EAAE,KAAmB;QACrD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,KAAa;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,GAAG,YAAY,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC;YACH,gEAAgE;YAChE,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;YAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;gBAClC,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACnC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;iBAC5C;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GACZ,MAAM,SAAS,CAAC,IAAI,CAElB,oBAAoB,CAAC,CAAC;YAE1B,2DAA2D;YAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/D,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,0DAA0D;YAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;gBACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CACb,qGAAqG;gBACnG,kBAAkB,eAAe,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CAC/F,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+DAA+D;YAC/D,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,cAAc,IAAI,KAAK;gBACvB,KAAK,CAAC,YAAY,EAClB,CAAC;gBACD,MAAM,UAAU,GAAG,KAAmC,CAAC;gBACvD,MAAM,eAAe,GAAa,EAAE,CAAC;gBAErC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,eAAe,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9D,eAAe,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;oBACtE,eAAe,CAAC,IAAI,CAClB,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CACpD,CAAC;oBACF,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBAChC,eAAe,CAAC,IAAI,CAClB,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAC1D,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC9B,eAAe,CAAC,IAAI,CAClB,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CACjD,CAAC;oBACF,eAAe,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,oCAAoC,UAAU,CAAC,OAAO,IAAI;oBACxD,mBAAmB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,aAAa,eAAe,QAAQ,GAAG,CAC5G,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,oCAAoC,YAAY,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,CAAC,MAGX;QACC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,WAAW,GAA2B;gBAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;YAEF,wBAAwB;YACxB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACnC,CAAC;YAED,yCAAyC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC5C,KAAK,EACL,oBAAoB,EACpB,SAAS,EACT;gBACE,MAAM,EAAE,WAAW;aACpB,CACF,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4EAA4E;YAC5E,IAAI,KAAK,YAAY,wBAAe,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG;oBACnB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CAAC;gBACF,MAAM,IAAI,KAAK,CACb,iBAAiB,KAAK,CAAC,OAAO,IAAI;oBAChC,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CAC5G,CAAC;YACJ,CAAC;YAED,2FAA2F;YAC3F,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,cAAc,IAAI,KAAK;gBACvB,KAAK,CAAC,YAAY,EAClB,CAAC;gBACD,MAAM,UAAU,GAAG,KAAmC,CAAC;gBACvD,MAAM,eAAe,GAAa,EAAE,CAAC;gBAErC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,eAAe,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9D,eAAe,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;oBACtE,eAAe,CAAC,IAAI,CAClB,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CACpD,CAAC;oBACF,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBAChC,eAAe,CAAC,IAAI,CAClB,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAC1D,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC9B,eAAe,CAAC,IAAI,CAClB,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CACjD,CAAC;oBACF,eAAe,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,iBAAiB,UAAU,CAAC,OAAO,IAAI;oBACrC,mBAAmB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,aAAa,eAAe,QAAQ,GAAG,CAC5G,CAAC;YACJ,CAAC;YAED,6DAA6D;YAC7D,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,iBAAiB,YAAY,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,YAA2B;QAE3B,mCAAmC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACvD,KAAK,EACL,YAAY,CACb,CAAC;YACF,OAAO,MAAM,CAAC,aAAa,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wCAAwC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,KAAa,EACb,YAA2B;QAE3B,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACvD,KAAK,EACL,YAAY,CACb,CAAC;YAEF,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACxC,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,KAAa,EACb,YAA2B;QAE3B,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACrD,KAAK,EACL,mBAAmB,EACnB,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,MAAyB;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC;YACH,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAC5C,MAAM,EACN,qBAAqB,EACrB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CACxB,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4EAA4E;YAC5E,IAAI,KAAK,YAAY,wBAAe,EAAE,CAAC;gBACrC,2EAA2E;gBAC3E,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7B,+DAA+D;oBAC/D,MAAM,YAAY,GAAG;wBACnB,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;qBAC3B,CAAC;oBACF,OAAO,CAAC,IAAI,CACV,sDAAsD;wBACpD,aAAa,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CACvG,CAAC;oBACF,mDAAmD;oBACnD,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,uCAAuC;wBAChD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC;gBACJ,CAAC;gBAED,oEAAoE;gBACpE,MAAM,YAAY,GAAG;oBACnB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CAAC;gBACF,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,CAAC,OAAO,IAAI;oBACjC,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CAC5G,CAAC;YACJ,CAAC;YAED,2FAA2F;YAC3F,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,cAAc,IAAI,KAAK;gBACvB,KAAK,CAAC,YAAY,EAClB,CAAC;gBACD,MAAM,UAAU,GAAG,KAAmC,CAAC;gBAEvD,oCAAoC;gBACpC,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI;wBAC3C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC1C,CAAC,CAAC,kBAAkB,CAAC;oBACvB,OAAO,CAAC,IAAI,CACV,sDAAsD;wBACpD,aAAa,YAAY,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CACvF,CAAC;oBACF,mDAAmD;oBACnD,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,uCAAuC;wBAChD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC;gBACJ,CAAC;gBAED,8CAA8C;gBAC9C,MAAM,eAAe,GAAa,EAAE,CAAC;gBACrC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,eAAe,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC9D,eAAe,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;oBACtE,eAAe,CAAC,IAAI,CAClB,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CACpD,CAAC;oBACF,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBAChC,eAAe,CAAC,IAAI,CAClB,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAC1D,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC9B,eAAe,CAAC,IAAI,CAClB,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CACjD,CAAC;oBACF,eAAe,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,CAAC,OAAO,IAAI;oBACtC,mBAAmB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,aAAa,eAAe,QAAQ,GAAG,CAC5G,CAAC;YACJ,CAAC;YAED,kFAAkF;YAClF,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,oBAAoB,aAAa,eAAe,QAAQ,GAAG,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,YAA2B;QAE3B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;CACF;AA3bD,kCA2bC"}
|
|
@@ -36,7 +36,13 @@ export interface AuthStrategy {
|
|
|
36
36
|
export interface MisoClientConfig {
|
|
37
37
|
controllerUrl: string;
|
|
38
38
|
clientId: string;
|
|
39
|
-
clientSecret
|
|
39
|
+
clientSecret?: string;
|
|
40
|
+
clientToken?: string;
|
|
41
|
+
clientTokenExpiresAt?: Date | string;
|
|
42
|
+
onClientTokenRefresh?: () => Promise<{
|
|
43
|
+
token: string;
|
|
44
|
+
expiresIn: number;
|
|
45
|
+
}>;
|
|
40
46
|
redis?: RedisConfig;
|
|
41
47
|
logLevel?: "debug" | "info" | "warn" | "error";
|
|
42
48
|
encryptionKey?: string;
|
|
@@ -113,6 +119,19 @@ export interface ClientTokenResponse {
|
|
|
113
119
|
expiresAt?: string;
|
|
114
120
|
timestamp?: string;
|
|
115
121
|
}
|
|
122
|
+
export interface LoginResponse {
|
|
123
|
+
success: boolean;
|
|
124
|
+
data: {
|
|
125
|
+
loginUrl: string;
|
|
126
|
+
state: string;
|
|
127
|
+
};
|
|
128
|
+
timestamp: string;
|
|
129
|
+
}
|
|
130
|
+
export interface LogoutResponse {
|
|
131
|
+
success: boolean;
|
|
132
|
+
message: string;
|
|
133
|
+
timestamp: string;
|
|
134
|
+
}
|
|
116
135
|
/**
|
|
117
136
|
* RFC 7807-style structured error response
|
|
118
137
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAkMH,0CA8BC;AAjCD;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAa;IAC3C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,wBAAwB;IACxB,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1B,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAC/C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uBAAuB;IACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|