@acorex-platform/framework-server 0.0.32 → 0.0.37

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.
Files changed (213) hide show
  1. package/background-job/src/lib/schedule/background-job-schedule-scanner.service.d.ts.map +1 -1
  2. package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js +46 -13
  3. package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js.map +1 -1
  4. package/background-job/src/lib/store/background-job-schedule-store.service.d.ts +5 -1
  5. package/background-job/src/lib/store/background-job-schedule-store.service.d.ts.map +1 -1
  6. package/background-job/src/lib/store/background-job-schedule-store.service.js +8 -4
  7. package/background-job/src/lib/store/background-job-schedule-store.service.js.map +1 -1
  8. package/background-job/src/lib/store/background-job-store.service.js +2 -2
  9. package/background-job/src/lib/store/background-job-store.service.js.map +1 -1
  10. package/core/src/lib/runtime/runtime-authz.guard.d.ts +3 -2
  11. package/core/src/lib/runtime/runtime-authz.guard.d.ts.map +1 -1
  12. package/core/src/lib/runtime/runtime-authz.guard.js +7 -6
  13. package/core/src/lib/runtime/runtime-authz.guard.js.map +1 -1
  14. package/domain/seed/src/lib/category-companion-entity.builder.d.ts +1 -1
  15. package/domain/seed/src/lib/category-companion-entity.builder.d.ts.map +1 -1
  16. package/domain/seed/src/lib/category-companion-entity.builder.js +64 -0
  17. package/domain/seed/src/lib/category-companion-entity.builder.js.map +1 -1
  18. package/jql/schema/src/lib/generated/widget-data-types.bootstrap.js +1 -1
  19. package/jql/schema/src/lib/generated/widget-data-types.bootstrap.js.map +1 -1
  20. package/package.json +2 -2
  21. package/realtime/src/lib/auth/auth-security-alert-realtime.listener.d.ts +18 -0
  22. package/realtime/src/lib/auth/auth-security-alert-realtime.listener.d.ts.map +1 -0
  23. package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js +90 -0
  24. package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js.map +1 -0
  25. package/realtime/src/lib/delivery/socket-io-realtime.delivery.d.ts.map +1 -1
  26. package/realtime/src/lib/delivery/socket-io-realtime.delivery.js +9 -4
  27. package/realtime/src/lib/delivery/socket-io-realtime.delivery.js.map +1 -1
  28. package/realtime/src/lib/gateway/realtime-ws-auth.d.ts +1 -1
  29. package/realtime/src/lib/gateway/realtime-ws-auth.d.ts.map +1 -1
  30. package/realtime/src/lib/gateway/realtime-ws-auth.js +4 -2
  31. package/realtime/src/lib/gateway/realtime-ws-auth.js.map +1 -1
  32. package/realtime/src/lib/gateway/realtime.gateway.d.ts +1 -0
  33. package/realtime/src/lib/gateway/realtime.gateway.d.ts.map +1 -1
  34. package/realtime/src/lib/gateway/realtime.gateway.js +9 -2
  35. package/realtime/src/lib/gateway/realtime.gateway.js.map +1 -1
  36. package/realtime/src/lib/realtime.module.d.ts.map +1 -1
  37. package/realtime/src/lib/realtime.module.js +2 -0
  38. package/realtime/src/lib/realtime.module.js.map +1 -1
  39. package/realtime/src/lib/rooms/realtime-rooms.util.d.ts +8 -0
  40. package/realtime/src/lib/rooms/realtime-rooms.util.d.ts.map +1 -1
  41. package/realtime/src/lib/rooms/realtime-rooms.util.js +22 -0
  42. package/realtime/src/lib/rooms/realtime-rooms.util.js.map +1 -1
  43. package/realtime/src/lib/services/realtime-publisher.service.d.ts.map +1 -1
  44. package/realtime/src/lib/services/realtime-publisher.service.js +7 -1
  45. package/realtime/src/lib/services/realtime-publisher.service.js.map +1 -1
  46. package/realtime/src/lib/topics/realtime-topics.d.ts +1 -0
  47. package/realtime/src/lib/topics/realtime-topics.d.ts.map +1 -1
  48. package/realtime/src/lib/topics/realtime-topics.js +2 -1
  49. package/realtime/src/lib/topics/realtime-topics.js.map +1 -1
  50. package/realtime/src/lib/types/realtime.types.d.ts +19 -0
  51. package/realtime/src/lib/types/realtime.types.d.ts.map +1 -1
  52. package/realtime/src/lib/types/realtime.types.js.map +1 -1
  53. package/security/src/index.d.ts +4 -0
  54. package/security/src/index.d.ts.map +1 -1
  55. package/security/src/index.js +5 -0
  56. package/security/src/index.js.map +1 -1
  57. package/security/src/lib/auth/auth-cookie-response.util.d.ts.map +1 -1
  58. package/security/src/lib/auth/auth-cookie-response.util.js +4 -1
  59. package/security/src/lib/auth/auth-cookie-response.util.js.map +1 -1
  60. package/security/src/lib/auth/auth-cookie.service.d.ts +2 -0
  61. package/security/src/lib/auth/auth-cookie.service.d.ts.map +1 -1
  62. package/security/src/lib/auth/auth-cookie.service.js +17 -0
  63. package/security/src/lib/auth/auth-cookie.service.js.map +1 -1
  64. package/security/src/lib/auth/auth-csrf.middleware.d.ts +14 -0
  65. package/security/src/lib/auth/auth-csrf.middleware.d.ts.map +1 -0
  66. package/security/src/lib/auth/auth-csrf.middleware.js +60 -0
  67. package/security/src/lib/auth/auth-csrf.middleware.js.map +1 -0
  68. package/security/src/lib/auth/auth-identity-provider.source.d.ts +11 -0
  69. package/security/src/lib/auth/auth-identity-provider.source.d.ts.map +1 -1
  70. package/security/src/lib/auth/auth-identity-provider.source.js +6 -1
  71. package/security/src/lib/auth/auth-identity-provider.source.js.map +1 -1
  72. package/security/src/lib/auth/auth-local-credentials.service.d.ts +8 -0
  73. package/security/src/lib/auth/auth-local-credentials.service.d.ts.map +1 -1
  74. package/security/src/lib/auth/auth-local-credentials.service.js +41 -16
  75. package/security/src/lib/auth/auth-local-credentials.service.js.map +1 -1
  76. package/security/src/lib/auth/auth-max-device-sessions-policy.d.ts +14 -0
  77. package/security/src/lib/auth/auth-max-device-sessions-policy.d.ts.map +1 -0
  78. package/security/src/lib/auth/auth-max-device-sessions-policy.js +48 -0
  79. package/security/src/lib/auth/auth-max-device-sessions-policy.js.map +1 -0
  80. package/security/src/lib/auth/auth-runtime.handlers.d.ts +15 -3
  81. package/security/src/lib/auth/auth-runtime.handlers.d.ts.map +1 -1
  82. package/security/src/lib/auth/auth-runtime.handlers.js +51 -3
  83. package/security/src/lib/auth/auth-runtime.handlers.js.map +1 -1
  84. package/security/src/lib/auth/auth.config.d.ts +7 -0
  85. package/security/src/lib/auth/auth.config.d.ts.map +1 -1
  86. package/security/src/lib/auth/auth.config.js +8 -1
  87. package/security/src/lib/auth/auth.config.js.map +1 -1
  88. package/security/src/lib/auth/auth.events.d.ts +22 -0
  89. package/security/src/lib/auth/auth.events.d.ts.map +1 -1
  90. package/security/src/lib/auth/auth.events.js +3 -1
  91. package/security/src/lib/auth/auth.events.js.map +1 -1
  92. package/security/src/lib/auth/auth.service.d.ts +65 -5
  93. package/security/src/lib/auth/auth.service.d.ts.map +1 -1
  94. package/security/src/lib/auth/auth.service.js +311 -10
  95. package/security/src/lib/auth/auth.service.js.map +1 -1
  96. package/security/src/lib/auth/auth.types.d.ts +36 -0
  97. package/security/src/lib/auth/auth.types.d.ts.map +1 -1
  98. package/security/src/lib/auth/auth.types.js.map +1 -1
  99. package/security/src/lib/auth/device-session.service.d.ts +59 -1
  100. package/security/src/lib/auth/device-session.service.d.ts.map +1 -1
  101. package/security/src/lib/auth/device-session.service.js +299 -28
  102. package/security/src/lib/auth/device-session.service.js.map +1 -1
  103. package/security/src/lib/auth/jwt-auth.guard.d.ts +2 -1
  104. package/security/src/lib/auth/jwt-auth.guard.d.ts.map +1 -1
  105. package/security/src/lib/auth/jwt-auth.guard.js +4 -2
  106. package/security/src/lib/auth/jwt-auth.guard.js.map +1 -1
  107. package/security/src/lib/auth/login-attempt.service.d.ts +14 -3
  108. package/security/src/lib/auth/login-attempt.service.d.ts.map +1 -1
  109. package/security/src/lib/auth/login-attempt.service.js +35 -10
  110. package/security/src/lib/auth/login-attempt.service.js.map +1 -1
  111. package/security/src/lib/auth/request-meta.util.js +64 -11
  112. package/security/src/lib/auth/request-meta.util.js.map +1 -1
  113. package/security/src/lib/auth/token-revocation.constants.d.ts +9 -0
  114. package/security/src/lib/auth/token-revocation.constants.d.ts.map +1 -0
  115. package/security/src/lib/auth/token-revocation.constants.js +14 -0
  116. package/security/src/lib/auth/token-revocation.constants.js.map +1 -0
  117. package/security/src/lib/auth/token.service.d.ts +26 -1
  118. package/security/src/lib/auth/token.service.d.ts.map +1 -1
  119. package/security/src/lib/auth/token.service.js +105 -4
  120. package/security/src/lib/auth/token.service.js.map +1 -1
  121. package/security/src/lib/oauth/connect.controller.d.ts +81 -7
  122. package/security/src/lib/oauth/connect.controller.d.ts.map +1 -1
  123. package/security/src/lib/oauth/connect.controller.js +264 -36
  124. package/security/src/lib/oauth/connect.controller.js.map +1 -1
  125. package/security/src/lib/oauth/oauth-bff.util.d.ts +9 -0
  126. package/security/src/lib/oauth/oauth-bff.util.d.ts.map +1 -0
  127. package/security/src/lib/oauth/oauth-bff.util.js +30 -0
  128. package/security/src/lib/oauth/oauth-bff.util.js.map +1 -0
  129. package/security/src/lib/oauth/oauth-claims.util.d.ts +6 -0
  130. package/security/src/lib/oauth/oauth-claims.util.d.ts.map +1 -0
  131. package/security/src/lib/oauth/oauth-claims.util.js +36 -0
  132. package/security/src/lib/oauth/oauth-claims.util.js.map +1 -0
  133. package/security/src/lib/oauth/oauth-client-registry.service.d.ts +25 -0
  134. package/security/src/lib/oauth/oauth-client-registry.service.d.ts.map +1 -0
  135. package/security/src/lib/oauth/oauth-client-registry.service.js +201 -0
  136. package/security/src/lib/oauth/oauth-client-registry.service.js.map +1 -0
  137. package/security/src/lib/oauth/oauth-connect.exception-filter.d.ts +10 -0
  138. package/security/src/lib/oauth/oauth-connect.exception-filter.d.ts.map +1 -0
  139. package/security/src/lib/oauth/oauth-connect.exception-filter.js +59 -0
  140. package/security/src/lib/oauth/oauth-connect.exception-filter.js.map +1 -0
  141. package/security/src/lib/oauth/oauth-error.util.d.ts +23 -0
  142. package/security/src/lib/oauth/oauth-error.util.d.ts.map +1 -0
  143. package/security/src/lib/oauth/oauth-error.util.js +114 -0
  144. package/security/src/lib/oauth/oauth-error.util.js.map +1 -0
  145. package/security/src/lib/oauth/oauth-grant-store.interface.d.ts +16 -0
  146. package/security/src/lib/oauth/oauth-grant-store.interface.d.ts.map +1 -0
  147. package/security/src/lib/oauth/oauth-grant-store.interface.js +14 -0
  148. package/security/src/lib/oauth/oauth-grant-store.interface.js.map +1 -0
  149. package/security/src/lib/oauth/oauth-issuer.util.d.ts +7 -0
  150. package/security/src/lib/oauth/oauth-issuer.util.d.ts.map +1 -0
  151. package/security/src/lib/oauth/oauth-issuer.util.js +25 -0
  152. package/security/src/lib/oauth/oauth-issuer.util.js.map +1 -0
  153. package/security/src/lib/oauth/oauth-op.service.d.ts +35 -0
  154. package/security/src/lib/oauth/oauth-op.service.d.ts.map +1 -0
  155. package/security/src/lib/oauth/oauth-op.service.js +152 -0
  156. package/security/src/lib/oauth/oauth-op.service.js.map +1 -0
  157. package/security/src/lib/oauth/oauth-op.types.d.ts +73 -0
  158. package/security/src/lib/oauth/oauth-op.types.d.ts.map +1 -0
  159. package/security/src/lib/oauth/oauth-op.types.js +5 -0
  160. package/security/src/lib/oauth/oauth-op.types.js.map +1 -0
  161. package/security/src/lib/oauth/oauth-provider-hint.util.d.ts +8 -0
  162. package/security/src/lib/oauth/oauth-provider-hint.util.d.ts.map +1 -0
  163. package/security/src/lib/oauth/oauth-provider-hint.util.js +24 -0
  164. package/security/src/lib/oauth/oauth-provider-hint.util.js.map +1 -0
  165. package/security/src/lib/oauth/oauth-redis-oidc-adapter.d.ts +27 -0
  166. package/security/src/lib/oauth/oauth-redis-oidc-adapter.d.ts.map +1 -0
  167. package/security/src/lib/oauth/oauth-redis-oidc-adapter.js +159 -0
  168. package/security/src/lib/oauth/oauth-redis-oidc-adapter.js.map +1 -0
  169. package/security/src/lib/oauth/oauth-rp.service.d.ts +53 -0
  170. package/security/src/lib/oauth/oauth-rp.service.d.ts.map +1 -0
  171. package/security/src/lib/oauth/oauth-rp.service.js +371 -0
  172. package/security/src/lib/oauth/oauth-rp.service.js.map +1 -0
  173. package/security/src/lib/oauth/oauth-rp.types.d.ts +25 -0
  174. package/security/src/lib/oauth/oauth-rp.types.d.ts.map +1 -0
  175. package/security/src/lib/oauth/oauth-rp.types.js +5 -0
  176. package/security/src/lib/oauth/oauth-rp.types.js.map +1 -0
  177. package/security/src/lib/oauth/oidc-provider-engine.service.d.ts +25 -0
  178. package/security/src/lib/oauth/oidc-provider-engine.service.d.ts.map +1 -0
  179. package/security/src/lib/oauth/oidc-provider-engine.service.js +208 -0
  180. package/security/src/lib/oauth/oidc-provider-engine.service.js.map +1 -0
  181. package/security/src/lib/oauth/platform-oauth.service.d.ts +43 -14
  182. package/security/src/lib/oauth/platform-oauth.service.d.ts.map +1 -1
  183. package/security/src/lib/oauth/platform-oauth.service.js +177 -170
  184. package/security/src/lib/oauth/platform-oauth.service.js.map +1 -1
  185. package/security/src/lib/oauth/platform-oauth.types.d.ts +11 -3
  186. package/security/src/lib/oauth/platform-oauth.types.d.ts.map +1 -1
  187. package/security/src/lib/oauth/platform-oauth.types.js.map +1 -1
  188. package/security/src/lib/oauth/redis-oauth-grant-store.service.d.ts +22 -0
  189. package/security/src/lib/oauth/redis-oauth-grant-store.service.d.ts.map +1 -0
  190. package/security/src/lib/oauth/redis-oauth-grant-store.service.js +132 -0
  191. package/security/src/lib/oauth/redis-oauth-grant-store.service.js.map +1 -0
  192. package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.d.ts +14 -0
  193. package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.d.ts.map +1 -0
  194. package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.js +46 -0
  195. package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.js.map +1 -0
  196. package/security/src/lib/oauth/testing/jest-empty-module.d.ts +4 -0
  197. package/security/src/lib/oauth/testing/jest-empty-module.d.ts.map +1 -0
  198. package/security/src/lib/oauth/testing/jest-empty-module.js +11 -0
  199. package/security/src/lib/oauth/testing/jest-empty-module.js.map +1 -0
  200. package/security/src/lib/oauth/testing/mock-oidc-provider.d.ts +49 -0
  201. package/security/src/lib/oauth/testing/mock-oidc-provider.d.ts.map +1 -0
  202. package/security/src/lib/oauth/testing/mock-oidc-provider.js +158 -0
  203. package/security/src/lib/oauth/testing/mock-oidc-provider.js.map +1 -0
  204. package/security/src/lib/security.module.d.ts.map +1 -1
  205. package/security/src/lib/security.module.js +31 -0
  206. package/security/src/lib/security.module.js.map +1 -1
  207. package/security/src/lib/session/backend-session.types.d.ts +2 -0
  208. package/security/src/lib/session/backend-session.types.d.ts.map +1 -1
  209. package/security/src/lib/session/backend-session.types.js.map +1 -1
  210. package/security/src/lib/session/optional-jwt-session.middleware.d.ts +6 -4
  211. package/security/src/lib/session/optional-jwt-session.middleware.d.ts.map +1 -1
  212. package/security/src/lib/session/optional-jwt-session.middleware.js +18 -7
  213. package/security/src/lib/session/optional-jwt-session.middleware.js.map +1 -1
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var PlatformOAuthService_1;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.PlatformOAuthService = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -9,18 +8,21 @@ const crypto_1 = require("crypto");
9
8
  const auth_identity_provider_source_1 = require("../auth/auth-identity-provider.source");
10
9
  const auth_service_1 = require("../auth/auth.service");
11
10
  const auth_local_credentials_service_1 = require("../auth/auth-local-credentials.service");
11
+ const auth_config_1 = require("../auth/auth.config");
12
12
  const token_service_1 = require("../auth/token.service");
13
- const platform_oauth_config_1 = require("./platform-oauth.config");
14
- //#region ---- Platform OAuth service ----
15
- let PlatformOAuthService = PlatformOAuthService_1 = class PlatformOAuthService {
16
- constructor(auth, credentials, tokens, moduleRef) {
13
+ const oauth_bff_util_1 = require("./oauth-bff.util");
14
+ const oauth_op_service_1 = require("./oauth-op.service");
15
+ const oauth_rp_service_1 = require("./oauth-rp.service");
16
+ const oauth_client_registry_service_1 = require("./oauth-client-registry.service");
17
+ let PlatformOAuthService = class PlatformOAuthService {
18
+ constructor(auth, credentials, tokens, moduleRef, op, rp, clients) {
17
19
  this.auth = auth;
18
20
  this.credentials = credentials;
19
21
  this.tokens = tokens;
20
22
  this.moduleRef = moduleRef;
21
- this.logger = new common_1.Logger(PlatformOAuthService_1.name);
22
- this.authorizationCodes = new Map();
23
- this.externalStates = new Map();
23
+ this.op = op;
24
+ this.rp = rp;
25
+ this.clients = clients;
24
26
  }
25
27
  getDiscoveryDocument(issuer) {
26
28
  const base = issuer.replace(/\/$/, '');
@@ -29,66 +31,96 @@ let PlatformOAuthService = PlatformOAuthService_1 = class PlatformOAuthService {
29
31
  authorization_endpoint: `${base}/connect/authorize`,
30
32
  token_endpoint: `${base}/connect/token`,
31
33
  jwks_uri: `${base}/.well-known/jwks.json`,
34
+ userinfo_endpoint: `${base}/connect/userinfo`,
35
+ revocation_endpoint: `${base}/connect/revocation`,
36
+ end_session_endpoint: `${base}/connect/endsession`,
32
37
  response_types_supported: ['code'],
33
38
  grant_types_supported: ['authorization_code', 'refresh_token'],
34
39
  code_challenge_methods_supported: ['S256'],
35
40
  scopes_supported: ['openid', 'profile', 'email', 'offline_access'],
41
+ subject_types_supported: ['public'],
42
+ id_token_signing_alg_values_supported: ['RS256'],
36
43
  };
37
44
  }
38
- /** Dev platform broker uses HS256 id_tokens; JWKS is advertised for OIDC discovery clients only. */
45
+ /** JWKS document used by OIDC discovery clients to validate Platform `id_token` signatures. */
39
46
  getJwksDocument() {
40
- return { keys: [] };
47
+ return this.tokens.getJwks();
41
48
  }
42
- async beginAuthorization(request) {
43
- this.assertSupportedAuthorizeRequest(request);
44
- const providerKey = request.provider.trim();
45
- if (!providerKey) {
46
- throw new common_1.BadRequestException('acr_values (identity provider key) is required.');
49
+ /**
50
+ * Detects first-party federation broker token requests (platform auth codes + platform JWT refresh tokens).
51
+ */
52
+ isBrokerTokenRequest(body) {
53
+ const grantType = body['grant_type']?.trim();
54
+ if (grantType === 'authorization_code') {
55
+ const code = body['code']?.trim();
56
+ return !!code && /^[a-f0-9]{48}$/i.test(code);
47
57
  }
48
- const broker = await this.requireBrokerConfig(providerKey);
49
- const state = (0, crypto_1.randomBytes)(16).toString('hex');
50
- this.externalStates.set(state, {
51
- codeChallenge: request.codeChallenge,
52
- codeChallengeMethod: request.codeChallengeMethod,
53
- redirectUri: request.redirectUri,
54
- clientId: request.clientId,
55
- provider: providerKey,
56
- issuer: request.issuer.replace(/\/$/, ''),
57
- expiresAt: Date.now() + platform_oauth_config_1.PLATFORM_OAUTH_CODE_TTL_MS,
58
- });
59
- const callbackUrl = `${request.issuer.replace(/\/$/, '')}/connect/callback/${encodeURIComponent(providerKey)}`;
58
+ if (grantType === 'refresh_token') {
59
+ const refreshToken = body['refresh_token']?.trim();
60
+ if (!refreshToken) {
61
+ return false;
62
+ }
63
+ try {
64
+ this.tokens.verifyRefreshToken(refreshToken);
65
+ return true;
66
+ }
67
+ catch {
68
+ return false;
69
+ }
70
+ }
71
+ return false;
72
+ }
73
+ /**
74
+ * BFF entry: server generates PKCE verifier/challenge and returns platform authorize URL.
75
+ * Verifier is stored server-side (never in browser localStorage).
76
+ */
77
+ async initAuthorization(input) {
78
+ this.clients.assertClientId(input.clientId);
79
+ this.clients.assertRedirectUri(input.clientId, input.redirectUri);
80
+ this.clients.assertScopes(input.clientId, input.scope);
81
+ const codeVerifier = (0, crypto_1.randomBytes)(32).toString('base64url');
82
+ const codeChallenge = (0, crypto_1.createHash)('sha256').update(codeVerifier).digest('base64url');
83
+ await this.op.stagePkceVerifier(codeChallenge, codeVerifier);
84
+ const base = input.issuer.replace(/\/$/, '');
60
85
  const params = new URLSearchParams({
61
- client_id: broker.clientId,
62
- redirect_uri: callbackUrl,
63
86
  response_type: 'code',
64
- scope: broker.scopes,
65
- state,
66
- access_type: 'online',
67
- prompt: 'select_account',
87
+ client_id: input.clientId,
88
+ redirect_uri: input.redirectUri,
89
+ scope: input.scope,
90
+ code_challenge: codeChallenge,
91
+ code_challenge_method: 'S256',
92
+ identity_provider: input.provider,
68
93
  });
69
- return `${broker.authorizationUrl}?${params.toString()}`;
94
+ return { authorizeUrl: `${base}/connect/authorize?${params.toString()}` };
95
+ }
96
+ async beginAuthorization(request) {
97
+ const { externalUrl } = await this.op.beginAuthorization(request);
98
+ return externalUrl;
70
99
  }
71
100
  async completeExternalCallback(providerKey, code, state) {
72
- const externalState = this.externalStates.get(state);
73
- this.externalStates.delete(state);
74
- if (!externalState || externalState.expiresAt < Date.now()) {
75
- throw new common_1.UnauthorizedException('Invalid or expired OAuth state.');
76
- }
77
- if (externalState.provider !== providerKey) {
101
+ const externalState = await this.op.consumeExternalState(state);
102
+ if (externalState.provider !== providerKey.trim()) {
78
103
  throw new common_1.UnauthorizedException('OAuth state provider mismatch.');
79
104
  }
80
- const profile = await this.exchangeExternalAuthorizationCode(providerKey, code, externalState.issuer);
105
+ const broker = await this.requireBrokerConfig(providerKey);
106
+ const callbackUrl = `${externalState.issuer.replace(/\/$/, '')}/connect/callback/${encodeURIComponent(providerKey)}`;
107
+ const tokenResult = await this.rp.exchangeCode(broker, code, callbackUrl);
108
+ const profile = tokenResult.idToken
109
+ ? await this.rp.verifyAndNormalizeIdToken(tokenResult.idToken, broker, externalState.nonce, broker.clientId)
110
+ : await this.resolveProfileViaUserInfo(broker, tokenResult.accessToken);
81
111
  const user = await this.credentials.findOrCreateExternalUser({
82
112
  provider: providerKey,
113
+ issuer: profile.issuer,
83
114
  providerSubject: profile.sub,
84
115
  email: profile.email,
116
+ emailVerified: profile.emailVerified,
85
117
  displayName: profile.name,
86
118
  picture: profile.picture,
87
119
  });
88
- const platformCode = (0, crypto_1.randomBytes)(24).toString('hex');
89
- this.authorizationCodes.set(platformCode, {
120
+ const platformCode = await this.op.issueCode({
90
121
  codeChallenge: externalState.codeChallenge,
91
122
  codeChallengeMethod: externalState.codeChallengeMethod,
123
+ codeVerifier: externalState.codeVerifier,
92
124
  redirectUri: externalState.redirectUri,
93
125
  clientId: externalState.clientId,
94
126
  userId: user.id,
@@ -97,7 +129,7 @@ let PlatformOAuthService = PlatformOAuthService_1 = class PlatformOAuthService {
97
129
  userEmail: profile.email,
98
130
  userPicture: profile.picture,
99
131
  provider: providerKey,
100
- expiresAt: Date.now() + platform_oauth_config_1.PLATFORM_OAUTH_CODE_TTL_MS,
132
+ nonce: externalState.nonce,
101
133
  });
102
134
  const redirect = new URL(externalState.redirectUri);
103
135
  redirect.searchParams.set('code', platformCode);
@@ -106,7 +138,7 @@ let PlatformOAuthService = PlatformOAuthService_1 = class PlatformOAuthService {
106
138
  async exchangeAuthorizationCode(body, meta) {
107
139
  const grantType = body['grant_type']?.trim();
108
140
  if (grantType === 'refresh_token') {
109
- return this.exchangeRefreshToken(body['refresh_token'], body['client_id'], meta);
141
+ return this.exchangeRefreshToken(body['refresh_token'], body['client_id'], meta, body);
110
142
  }
111
143
  if (grantType !== 'authorization_code') {
112
144
  throw new common_1.BadRequestException('Unsupported grant_type.');
@@ -115,147 +147,95 @@ let PlatformOAuthService = PlatformOAuthService_1 = class PlatformOAuthService {
115
147
  const redirectUri = body['redirect_uri']?.trim();
116
148
  const clientId = body['client_id']?.trim();
117
149
  const codeVerifier = body['code_verifier']?.trim();
118
- if (!code || !redirectUri || !clientId || !codeVerifier) {
119
- throw new common_1.BadRequestException('code, redirect_uri, client_id, and code_verifier are required.');
120
- }
121
- this.assertClientId(clientId);
122
- const record = this.authorizationCodes.get(code);
123
- this.authorizationCodes.delete(code);
124
- if (!record || record.expiresAt < Date.now()) {
125
- throw new common_1.UnauthorizedException('Invalid or expired authorization code.');
126
- }
127
- if (record.clientId !== clientId || record.redirectUri !== redirectUri) {
128
- throw new common_1.UnauthorizedException('Authorization code does not match client or redirect URI.');
129
- }
130
- if (!this.verifyPkce(codeVerifier, record.codeChallenge, record.codeChallengeMethod)) {
131
- throw new common_1.UnauthorizedException('Invalid PKCE code verifier.');
150
+ if (!code || !redirectUri || !clientId) {
151
+ throw new common_1.BadRequestException('code, redirect_uri, and client_id are required.');
132
152
  }
153
+ this.clients.assertTokenEndpointClientAuth(clientId, body);
154
+ this.clients.assertGrantType(clientId, 'authorization_code');
155
+ const record = await this.op.consumeCode({
156
+ code,
157
+ clientId,
158
+ redirectUri,
159
+ codeVerifier,
160
+ });
133
161
  const user = await this.credentials.findUserById(record.userId);
134
162
  if (!user) {
135
163
  throw new common_1.UnauthorizedException('User not found.');
136
164
  }
137
- const authUser = {
165
+ const tokenResult = await this.auth.completeSignIn(user, meta, {
166
+ audience: auth_config_1.PLATFORM_ACCESS_TOKEN_AUDIENCE,
167
+ });
168
+ const expiresIn = this.tokens.accessTokenExpiresInSeconds();
169
+ const idToken = this.tokens.issueIdToken({
138
170
  id: user.id,
139
171
  name: user.username ?? user.id,
140
172
  title: user.displayName ?? user.username ?? user.id,
141
173
  avatar: user.avatar ?? null,
142
- };
143
- const tokens = this.tokens.issueTokenResponse(authUser, {});
144
- const expiresIn = this.tokens.accessTokenExpiresInSeconds();
145
- const idToken = this.tokens.issueIdToken(authUser, clientId, {
174
+ }, clientId, {
146
175
  email: record.userEmail,
147
176
  picture: record.userPicture,
177
+ nonce: record.nonce,
178
+ });
179
+ return this.toOAuthExchangeResult({
180
+ accessToken: tokenResult.accessToken,
181
+ refreshToken: tokenResult.refreshToken,
182
+ idToken,
183
+ expiresIn,
148
184
  });
149
- await this.auth.completeSignIn(user, meta);
150
- return {
151
- access_token: tokens.accessToken,
152
- refresh_token: tokens.refreshToken,
153
- id_token: idToken,
154
- token_type: 'Bearer',
155
- expires_in: expiresIn,
156
- };
157
185
  }
158
- async exchangeRefreshToken(refreshToken, clientId, meta) {
186
+ async endSession(input) {
187
+ if (input.postLogoutRedirectUri?.trim()) {
188
+ this.clients.assertPostLogoutRedirectUri(input.clientId, input.postLogoutRedirectUri);
189
+ }
190
+ if (input.idTokenHint?.trim()) {
191
+ try {
192
+ const payload = this.auth.decodeIdTokenHint(input.idTokenHint.trim());
193
+ if (payload?.sid) {
194
+ await this.auth.revokeSessionById(payload.sid);
195
+ }
196
+ }
197
+ catch {
198
+ /* ignore invalid hint */
199
+ }
200
+ }
201
+ if (!input.postLogoutRedirectUri?.trim()) {
202
+ return null;
203
+ }
204
+ const redirect = new URL(input.postLogoutRedirectUri.trim());
205
+ if (input.state?.trim()) {
206
+ redirect.searchParams.set('state', input.state.trim());
207
+ }
208
+ return redirect.toString();
209
+ }
210
+ async exchangeRefreshToken(refreshToken, clientId, meta, body) {
159
211
  if (!refreshToken?.trim()) {
160
212
  throw new common_1.BadRequestException('refresh_token is required.');
161
213
  }
162
214
  if (clientId) {
163
- this.assertClientId(clientId);
215
+ this.clients.assertTokenEndpointClientAuth(clientId, body);
216
+ this.clients.assertGrantType(clientId, 'refresh_token');
164
217
  }
165
- const result = await this.auth.refreshSession(refreshToken.trim(), meta);
166
- const expiresIn = this.tokens.accessTokenExpiresInSeconds();
167
- const allowed = this.resolveAllowedClientIds();
168
- const idToken = this.tokens.issueIdToken(result.user, clientId ?? allowed[0] ?? 'acorex', {});
169
- return {
170
- access_token: result.accessToken,
171
- refresh_token: result.refreshToken,
172
- id_token: idToken,
173
- token_type: 'Bearer',
174
- expires_in: expiresIn,
175
- };
176
- }
177
- async exchangeExternalAuthorizationCode(providerKey, code, issuer) {
178
- const broker = await this.requireBrokerConfig(providerKey);
179
- const callbackUrl = `${issuer.replace(/\/$/, '')}/connect/callback/${encodeURIComponent(providerKey)}`;
180
- const body = new URLSearchParams({
181
- code,
182
- client_id: broker.clientId,
183
- client_secret: broker.clientSecret,
184
- redirect_uri: callbackUrl,
185
- grant_type: 'authorization_code',
218
+ const result = await this.auth.refreshSession(refreshToken.trim(), meta, {
219
+ audience: auth_config_1.PLATFORM_ACCESS_TOKEN_AUDIENCE,
186
220
  });
187
- const tokenResponse = await fetch(broker.tokenUrl, {
188
- method: 'POST',
189
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
190
- body: body.toString(),
191
- });
192
- if (!tokenResponse.ok) {
193
- const detail = await tokenResponse.text();
194
- this.logger.warn(`External token exchange failed (${providerKey}): ${detail}`);
195
- throw new common_1.UnauthorizedException(`${providerKey} authorization failed.`);
196
- }
197
- const tokenData = (await tokenResponse.json());
198
- if (tokenData.id_token) {
199
- return this.parseIdToken(tokenData.id_token);
200
- }
201
- if (!tokenData.access_token || !broker.userInfoUrl) {
202
- throw new common_1.UnauthorizedException(`${providerKey} authorization failed.`);
203
- }
204
- const profileResponse = await fetch(broker.userInfoUrl, {
205
- headers: { Authorization: `Bearer ${tokenData.access_token}` },
221
+ const expiresIn = this.tokens.accessTokenExpiresInSeconds();
222
+ const resolvedClientId = clientId ?? this.clients.listClients()[0]?.clientId ?? 'acorex';
223
+ const idToken = this.tokens.issueIdToken(result.user, resolvedClientId, {});
224
+ return this.toOAuthExchangeResult({
225
+ accessToken: result.accessToken,
226
+ refreshToken: result.refreshToken,
227
+ idToken,
228
+ expiresIn,
206
229
  });
207
- if (!profileResponse.ok) {
208
- throw new common_1.UnauthorizedException(`${providerKey} profile lookup failed.`);
209
- }
210
- return (await profileResponse.json());
211
230
  }
212
- parseIdToken(idToken) {
213
- const parts = idToken.split('.');
214
- if (parts.length < 2) {
215
- throw new common_1.UnauthorizedException('Invalid id_token.');
216
- }
217
- const payload = JSON.parse(Buffer.from(parts[1], 'base64url').toString('utf8'));
231
+ toOAuthExchangeResult(tokens) {
232
+ const body = (0, oauth_bff_util_1.buildOAuthTokenResponseBody)(tokens);
218
233
  return {
219
- sub: payload.sub,
220
- email: payload.email,
221
- emailVerified: payload.email_verified,
222
- name: payload.name,
223
- picture: payload.picture,
234
+ body,
235
+ accessToken: tokens.accessToken,
236
+ refreshToken: tokens.refreshToken,
224
237
  };
225
238
  }
226
- assertSupportedAuthorizeRequest(request) {
227
- if (request.responseType !== 'code') {
228
- throw new common_1.BadRequestException('Only response_type=code is supported.');
229
- }
230
- this.assertClientId(request.clientId);
231
- if (!request.redirectUri?.trim()) {
232
- throw new common_1.BadRequestException('redirect_uri is required.');
233
- }
234
- if (!request.issuer?.trim()) {
235
- throw new common_1.BadRequestException('issuer is required.');
236
- }
237
- if (!request.codeChallenge?.trim() || request.codeChallengeMethod !== 'S256') {
238
- throw new common_1.BadRequestException('PKCE S256 code_challenge is required.');
239
- }
240
- }
241
- assertClientId(clientId) {
242
- const allowed = this.resolveAllowedClientIds();
243
- if (!allowed.includes(clientId)) {
244
- throw new common_1.BadRequestException(`Unsupported client_id: ${clientId}`);
245
- }
246
- }
247
- resolveAllowedClientIds() {
248
- try {
249
- const ids = this.moduleRef.get(auth_identity_provider_source_1.AUTH_OAUTH_ALLOWED_CLIENT_IDS, { strict: false });
250
- if (Array.isArray(ids) && ids.length > 0) {
251
- return ids;
252
- }
253
- }
254
- catch {
255
- /* catalog not loaded */
256
- }
257
- return ['acorex', 'spa-client'];
258
- }
259
239
  async requireBrokerConfig(key) {
260
240
  const catalog = this.resolveIdentityProviderCatalog();
261
241
  const broker = catalog ? await catalog.getBrokerConfig(key) : null;
@@ -280,26 +260,53 @@ let PlatformOAuthService = PlatformOAuthService_1 = class PlatformOAuthService {
280
260
  return null;
281
261
  }
282
262
  }
283
- verifyPkce(codeVerifier, codeChallenge, method) {
284
- if (method !== 'S256') {
285
- return false;
263
+ async resolveProfileViaUserInfo(broker, accessToken) {
264
+ if (!broker.userInfoUrl) {
265
+ throw new common_1.UnauthorizedException('External authorization failed (missing userInfoUrl).');
266
+ }
267
+ const issuer = broker.issuerUrl?.trim()?.replace(/\/$/, '') ||
268
+ (await this.resolveIssuerFromUserInfoUrl(broker.userInfoUrl));
269
+ const profile = await this.rp.fetchUserInfo(accessToken, broker.userInfoUrl);
270
+ if (!profile.sub) {
271
+ throw new common_1.UnauthorizedException('External authorization failed (missing subject).');
286
272
  }
287
- const digest = (0, crypto_1.createHash)('sha256').update(codeVerifier).digest('base64url');
273
+ return {
274
+ issuer,
275
+ sub: profile.sub,
276
+ email: profile.email,
277
+ emailVerified: profile.emailVerified,
278
+ name: profile.name,
279
+ picture: profile.picture,
280
+ };
281
+ }
282
+ async resolveIssuerFromUserInfoUrl(userInfoUrl) {
283
+ const base = new URL(userInfoUrl).origin;
284
+ const discoveryUrl = `${base}/.well-known/openid-configuration`;
288
285
  try {
289
- return (0, crypto_1.timingSafeEqual)(Buffer.from(digest), Buffer.from(codeChallenge));
286
+ const response = await fetch(discoveryUrl);
287
+ if (response.ok) {
288
+ const data = (await response.json());
289
+ if (typeof data['issuer'] === 'string') {
290
+ return data['issuer'].replace(/\/$/, '');
291
+ }
292
+ }
290
293
  }
291
294
  catch {
292
- return false;
295
+ /* ignore discovery errors */
293
296
  }
297
+ return base;
294
298
  }
295
299
  };
296
300
  exports.PlatformOAuthService = PlatformOAuthService;
297
- exports.PlatformOAuthService = PlatformOAuthService = PlatformOAuthService_1 = tslib_1.__decorate([
301
+ exports.PlatformOAuthService = PlatformOAuthService = tslib_1.__decorate([
298
302
  (0, common_1.Injectable)(),
299
303
  tslib_1.__metadata("design:paramtypes", [auth_service_1.AuthService,
300
304
  auth_local_credentials_service_1.AuthLocalCredentialsService,
301
305
  token_service_1.TokenService,
302
- core_1.ModuleRef])
306
+ core_1.ModuleRef,
307
+ oauth_op_service_1.OAuthOpService,
308
+ oauth_rp_service_1.OAuthRpService,
309
+ oauth_client_registry_service_1.OAuthClientRegistryService])
303
310
  ], PlatformOAuthService);
304
311
  //#endregion
305
312
  //# sourceMappingURL=platform-oauth.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-oauth.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/platform-oauth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-oauth.service.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/platform-oauth.service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export interface PlatformOAuthAuthorizeRequest {
5
5
  scope: string;
6
6
  codeChallenge: string;
7
7
  codeChallengeMethod: string;
8
+ /** Server-side PKCE verifier when generated by `/connect/authorize/init`. */
9
+ codeVerifier?: string;
8
10
  /** IdentityProvider.key / acr_values (e.g. google). */
9
11
  provider: string;
10
12
  /** Platform API issuer base, e.g. http://localhost:5500/api */
@@ -41,10 +43,16 @@ export interface ExternalOidcProfile {
41
43
  picture?: string;
42
44
  }
43
45
  export interface OAuthTokenResponse {
44
- access_token: string;
45
- refresh_token: string;
46
- id_token: string;
46
+ access_token?: string;
47
+ refresh_token?: string;
48
+ id_token?: string;
47
49
  token_type: 'Bearer';
48
50
  expires_in: number;
49
51
  }
52
+ /** Internal result for BFF cookie + JSON split. */
53
+ export interface OAuthExchangeResult {
54
+ body: OAuthTokenResponse;
55
+ accessToken: string;
56
+ refreshToken: string;
57
+ }
50
58
  //# sourceMappingURL=platform-oauth.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-oauth.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/platform-oauth.types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"platform-oauth.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/platform-oauth.types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform-oauth.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/platform-oauth.types.ts"],"names":[],"mappings":";AAAA,wCAAwC;;AAwDxC,YAAY"}
1
+ {"version":3,"file":"platform-oauth.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/platform-oauth.types.ts"],"names":[],"mappings":";AAAA,wCAAwC;;AAiExC,YAAY"}
@@ -0,0 +1,22 @@
1
+ import { OnModuleDestroy } from '@nestjs/common';
2
+ import type { OAuthCodeRecord, OAuthExternalStateRecord } from './oauth-op.types';
3
+ import { OAuthGrantStore } from './oauth-grant-store.interface';
4
+ export declare class RedisOAuthGrantStore extends OAuthGrantStore implements OnModuleDestroy {
5
+ private readonly logger;
6
+ private readonly redis;
7
+ private readonly localCodes;
8
+ private readonly localStates;
9
+ private readonly localPkceVerifiers;
10
+ constructor();
11
+ private keyForCode;
12
+ private keyForState;
13
+ private keyForPkceVerifier;
14
+ saveCode(code: string, record: OAuthCodeRecord, ttlMs: number): Promise<void>;
15
+ consumeCode(code: string): Promise<OAuthCodeRecord | null>;
16
+ saveState(state: string, record: OAuthExternalStateRecord, ttlMs: number): Promise<void>;
17
+ consumeState(state: string): Promise<OAuthExternalStateRecord | null>;
18
+ savePkceVerifier(codeChallenge: string, codeVerifier: string, ttlMs: number): Promise<void>;
19
+ consumePkceVerifier(codeChallenge: string): Promise<string | null>;
20
+ onModuleDestroy(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=redis-oauth-grant-store.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-oauth-grant-store.service.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/redis-oauth-grant-store.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAiChE,qBACa,oBAAqB,SAAQ,eAAgB,YAAW,eAAe;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAEhE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;;IAiBhE,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,kBAAkB;IAIpB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7E,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAgB1D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxF,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAgBrE,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3F,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWlE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC"}