@samanhappy/mcphub 1.1.1 → 1.1.2

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 (87) hide show
  1. package/dist/clients/legacyMcpClient.js +1 -1
  2. package/dist/clients/legacyMcpClient.js.map +1 -1
  3. package/dist/clients/mcpSdkClient.js +28359 -0
  4. package/dist/clients/mcpSdkClient.js.map +7 -0
  5. package/dist/controllers/betterAuthController.js +3 -1
  6. package/dist/controllers/betterAuthController.js.map +1 -1
  7. package/dist/controllers/serverController.js +55 -14
  8. package/dist/controllers/serverController.js.map +1 -1
  9. package/dist/dao/UserDao.js +57 -34
  10. package/dist/dao/UserDao.js.map +1 -1
  11. package/dist/middlewares/auth.js +17 -0
  12. package/dist/middlewares/auth.js.map +1 -1
  13. package/dist/services/betterAuthConfig.js +2 -96
  14. package/dist/services/betterAuthConfig.js.map +1 -1
  15. package/dist/services/betterAuthSession.js +19 -3
  16. package/dist/services/betterAuthSession.js.map +1 -1
  17. package/dist/services/credentialBindingService.js +42 -0
  18. package/dist/services/credentialBindingService.js.map +1 -1
  19. package/dist/services/forwardAuthService.js +277 -0
  20. package/dist/services/forwardAuthService.js.map +1 -0
  21. package/dist/services/keepAliveService.js +1 -1
  22. package/dist/services/keepAliveService.js.map +1 -1
  23. package/dist/services/mcpOAuthProvider.js +13 -0
  24. package/dist/services/mcpOAuthProvider.js.map +1 -1
  25. package/dist/services/mcpService.js +43 -10
  26. package/dist/services/mcpService.js.map +1 -1
  27. package/dist/services/sseService.js +20 -0
  28. package/dist/services/sseService.js.map +1 -1
  29. package/dist/services/templateService.js +10 -9
  30. package/dist/services/templateService.js.map +1 -1
  31. package/dist/utils/serverConfigPersistence.js +8 -1
  32. package/dist/utils/serverConfigPersistence.js.map +1 -1
  33. package/dist/utils/serverConfigValidation.js +5 -1
  34. package/dist/utils/serverConfigValidation.js.map +1 -1
  35. package/dist/utils/settingResolvers.js +97 -0
  36. package/dist/utils/settingResolvers.js.map +1 -0
  37. package/dist/utils/ssrf.js +1 -1
  38. package/dist/utils/ssrf.js.map +1 -1
  39. package/frontend/dist/assets/{ActivityPage-D3Oto1RE.js → ActivityPage-DFLMe7o2.js} +2 -2
  40. package/frontend/dist/assets/{ActivityPage-D3Oto1RE.js.map → ActivityPage-DFLMe7o2.js.map} +1 -1
  41. package/frontend/dist/assets/{CopyClientConfigDialog-kX5ewtFp.js → CopyClientConfigDialog-DukyyXVp.js} +2 -2
  42. package/frontend/dist/assets/{CopyClientConfigDialog-kX5ewtFp.js.map → CopyClientConfigDialog-DukyyXVp.js.map} +1 -1
  43. package/frontend/dist/assets/{CredentialsPage-C9dHU6Wf.js → CredentialsPage-BpBCEmEE.js} +2 -2
  44. package/frontend/dist/assets/{CredentialsPage-C9dHU6Wf.js.map → CredentialsPage-BpBCEmEE.js.map} +1 -1
  45. package/frontend/dist/assets/{Dashboard-DFyfT22A.js → Dashboard-DjZkbAPt.js} +2 -2
  46. package/frontend/dist/assets/{Dashboard-DFyfT22A.js.map → Dashboard-DjZkbAPt.js.map} +1 -1
  47. package/frontend/dist/assets/{EndpointCopy-6sqlZ15W.js → EndpointCopy-Bv-_FPmR.js} +2 -2
  48. package/frontend/dist/assets/{EndpointCopy-6sqlZ15W.js.map → EndpointCopy-Bv-_FPmR.js.map} +1 -1
  49. package/frontend/dist/assets/{GroupsPage-joJmAW7F.js → GroupsPage-B8BWRIWv.js} +2 -2
  50. package/frontend/dist/assets/{GroupsPage-joJmAW7F.js.map → GroupsPage-B8BWRIWv.js.map} +1 -1
  51. package/frontend/dist/assets/{LoginPage-10tXreQ_.js → LoginPage-OH73zcbT.js} +2 -2
  52. package/frontend/dist/assets/{LoginPage-10tXreQ_.js.map → LoginPage-OH73zcbT.js.map} +1 -1
  53. package/frontend/dist/assets/{LogsPage-yBj3gqOU.js → LogsPage-B6P_uQvL.js} +2 -2
  54. package/frontend/dist/assets/{LogsPage-yBj3gqOU.js.map → LogsPage-B6P_uQvL.js.map} +1 -1
  55. package/frontend/dist/assets/{MarketPage-CuAl4IXf.js → MarketPage-CKjkgZpe.js} +2 -2
  56. package/frontend/dist/assets/{MarketPage-CuAl4IXf.js.map → MarketPage-CKjkgZpe.js.map} +1 -1
  57. package/frontend/dist/assets/{OAuthConsentPage-BuvpRon8.js → OAuthConsentPage-DjvtbLnm.js} +2 -2
  58. package/frontend/dist/assets/{OAuthConsentPage-BuvpRon8.js.map → OAuthConsentPage-DjvtbLnm.js.map} +1 -1
  59. package/frontend/dist/assets/{PromptsPage-DsYU0Kgm.js → PromptsPage-CCMb9OH2.js} +2 -2
  60. package/frontend/dist/assets/{PromptsPage-DsYU0Kgm.js.map → PromptsPage-CCMb9OH2.js.map} +1 -1
  61. package/frontend/dist/assets/{ResourcesPage-DVxFnDJE.js → ResourcesPage-BERaKn0d.js} +2 -2
  62. package/frontend/dist/assets/{ResourcesPage-DVxFnDJE.js.map → ResourcesPage-BERaKn0d.js.map} +1 -1
  63. package/frontend/dist/assets/{ServersPage-DWq6jqvv.js → ServersPage-BNsFiZez.js} +4 -4
  64. package/frontend/dist/assets/{ServersPage-DWq6jqvv.js.map → ServersPage-BNsFiZez.js.map} +1 -1
  65. package/frontend/dist/assets/{SettingsPage-Db0jJzi0.js → SettingsPage-PiL7o9b9.js} +2 -2
  66. package/frontend/dist/assets/{SettingsPage-Db0jJzi0.js.map → SettingsPage-PiL7o9b9.js.map} +1 -1
  67. package/frontend/dist/assets/{StatusDot-DdZTtyw1.js → StatusDot-IWYCjv_t.js} +2 -2
  68. package/frontend/dist/assets/{StatusDot-DdZTtyw1.js.map → StatusDot-IWYCjv_t.js.map} +1 -1
  69. package/frontend/dist/assets/{ToggleGroup-tJbhgavL.js → ToggleGroup-B_NGGU8p.js} +2 -2
  70. package/frontend/dist/assets/{ToggleGroup-tJbhgavL.js.map → ToggleGroup-B_NGGU8p.js.map} +1 -1
  71. package/frontend/dist/assets/{UsersPage-BqM1rGSo.js → UsersPage-D9QdH-ma.js} +2 -2
  72. package/frontend/dist/assets/{UsersPage-BqM1rGSo.js.map → UsersPage-D9QdH-ma.js.map} +1 -1
  73. package/frontend/dist/assets/{clipboard-CakNzStU.js → clipboard-CFeeSZ4D.js} +2 -2
  74. package/frontend/dist/assets/{clipboard-CakNzStU.js.map → clipboard-CFeeSZ4D.js.map} +1 -1
  75. package/frontend/dist/assets/index-RTKBtgGw.js +3 -0
  76. package/frontend/dist/assets/{index-DE5u_PAU.js.map → index-RTKBtgGw.js.map} +1 -1
  77. package/frontend/dist/assets/{resourceService-BkO_Mq1D.js → resourceService-BoJqsssR.js} +2 -2
  78. package/frontend/dist/assets/{resourceService-BkO_Mq1D.js.map → resourceService-BoJqsssR.js.map} +1 -1
  79. package/frontend/dist/assets/{useCostData-inPDjb84.js → useCostData-Dld-MisV.js} +2 -2
  80. package/frontend/dist/assets/{useCostData-inPDjb84.js.map → useCostData-Dld-MisV.js.map} +1 -1
  81. package/frontend/dist/assets/variableDetection-C1abuc-p.js +16 -0
  82. package/frontend/dist/assets/variableDetection-C1abuc-p.js.map +1 -0
  83. package/frontend/dist/index.html +1 -1
  84. package/package.json +5 -3
  85. package/frontend/dist/assets/index-DE5u_PAU.js +0 -3
  86. package/frontend/dist/assets/variableDetection-Dt-yEyj8.js +0 -16
  87. package/frontend/dist/assets/variableDetection-Dt-yEyj8.js.map +0 -1
@@ -1,5 +1,15 @@
1
1
  import { JsonFileBaseDao } from './base/JsonFileBaseDao.js';
2
2
  import bcrypt from 'bcryptjs';
3
+ // Serializes user writes in JSON mode. Each write reads, checks and rewrites the
4
+ // whole user list, so concurrent writes could otherwise both pass a uniqueness
5
+ // check (e.g. two first logins claiming the same username) or drop each other's
6
+ // changes. Database mode relies on unique constraints instead.
7
+ let userWriteQueue = Promise.resolve();
8
+ const runUserWrite = (write) => {
9
+ const result = userWriteQueue.then(write);
10
+ userWriteQueue = result.catch(() => undefined);
11
+ return result;
12
+ };
3
13
  /**
4
14
  * JSON file-based User DAO implementation
5
15
  */
@@ -49,35 +59,46 @@ export class UserDaoImpl extends JsonFileBaseDao {
49
59
  throw new Error('Use createWithHashedPassword instead');
50
60
  }
51
61
  async createWithHashedPassword(username, password, isAdmin = false, email, ssoUserId) {
52
- const users = await this.getAll();
53
- // Check if user already exists
54
- if (users.find((user) => user.username === username)) {
55
- throw new Error(`User ${username} already exists`);
56
- }
62
+ // Hash outside the write lock: it is slow and needs no shared state.
57
63
  const hashedPassword = await bcrypt.hash(password, 10);
58
- const newUser = {
59
- username,
60
- password: hashedPassword,
61
- isAdmin,
62
- email,
63
- ssoUserId,
64
- };
65
- users.push(newUser);
66
- await this.saveAll(users);
67
- return newUser;
64
+ return runUserWrite(async () => {
65
+ const users = await this.getAll();
66
+ // Mirror the unique constraints the database enforces on these columns.
67
+ if (users.find((user) => user.username === username)) {
68
+ throw new Error(`User ${username} already exists`);
69
+ }
70
+ if (email && users.find((user) => user.email === email)) {
71
+ throw new Error(`User with email ${email} already exists`);
72
+ }
73
+ if (ssoUserId && users.find((user) => user.ssoUserId === ssoUserId)) {
74
+ throw new Error('User with this SSO user ID already exists');
75
+ }
76
+ const newUser = {
77
+ username,
78
+ password: hashedPassword,
79
+ isAdmin,
80
+ email,
81
+ ssoUserId,
82
+ };
83
+ users.push(newUser);
84
+ await this.saveAll(users);
85
+ return newUser;
86
+ });
68
87
  }
69
88
  async update(username, updates) {
70
- const users = await this.getAll();
71
- const index = users.findIndex((user) => user.username === username);
72
- if (index === -1) {
73
- return null;
74
- }
75
- // Don't allow username changes
76
- const { username: _, ...allowedUpdates } = updates;
77
- const updatedUser = this.updateEntity(users[index], allowedUpdates);
78
- users[index] = updatedUser;
79
- await this.saveAll(users);
80
- return updatedUser;
89
+ return runUserWrite(async () => {
90
+ const users = await this.getAll();
91
+ const index = users.findIndex((user) => user.username === username);
92
+ if (index === -1) {
93
+ return null;
94
+ }
95
+ // Don't allow username changes
96
+ const { username: _, ...allowedUpdates } = updates;
97
+ const updatedUser = this.updateEntity(users[index], allowedUpdates);
98
+ users[index] = updatedUser;
99
+ await this.saveAll(users);
100
+ return updatedUser;
101
+ });
81
102
  }
82
103
  async updatePassword(username, newPassword) {
83
104
  const hashedPassword = await bcrypt.hash(newPassword, 10);
@@ -85,14 +106,16 @@ export class UserDaoImpl extends JsonFileBaseDao {
85
106
  return result !== null;
86
107
  }
87
108
  async delete(username) {
88
- const users = await this.getAll();
89
- const index = users.findIndex((user) => user.username === username);
90
- if (index === -1) {
91
- return false;
92
- }
93
- users.splice(index, 1);
94
- await this.saveAll(users);
95
- return true;
109
+ return runUserWrite(async () => {
110
+ const users = await this.getAll();
111
+ const index = users.findIndex((user) => user.username === username);
112
+ if (index === -1) {
113
+ return false;
114
+ }
115
+ users.splice(index, 1);
116
+ await this.saveAll(users);
117
+ return true;
118
+ });
96
119
  }
97
120
  async exists(username) {
98
121
  const user = await this.findByUsername(username);
@@ -1 +1 @@
1
- {"version":3,"file":"UserDao.js","sourceRoot":"","sources":["../../src/dao/UserDao.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,MAAM,MAAM,UAAU,CAAC;AAgD9B;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IACpC,KAAK,CAAC,MAAM;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9B,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,KAAc;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAES,WAAW,CAAC,IAAW;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAES,YAAY,CAAC,KAA8B;QACnD,sDAAsD;QACtD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAES,YAAY,CAAC,QAAe,EAAE,OAAuB;QAC7D,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,OAAO;YACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,iCAAiC;SAC/D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA8B;QACzC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,QAAgB,EAChB,QAAgB,EAChB,UAAmB,KAAK,EACxB,KAAc,EACd,SAAkB;QAElB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAElC,+BAA+B;QAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAU;YACrB,QAAQ;YACR,QAAQ,EAAE,cAAc;YACxB,OAAO;YACP,KAAK;YACL,SAAS;SACV,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,OAAuB;QACpD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAEpE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+BAA+B;QAC/B,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;QACpE,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;QAE3B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,WAAmB;QACxD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;QACzE,OAAO,MAAM,KAAK,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAEpE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,QAAgB;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IACvD,CAAC;CACF"}
1
+ {"version":3,"file":"UserDao.js","sourceRoot":"","sources":["../../src/dao/UserDao.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { getToken } from '../models/OAuth.js';
5
5
  import { isOAuthServerEnabled } from '../services/oauthServerService.js';
6
6
  import { getBearerKeyDao, getSystemConfigDao } from '../dao/index.js';
7
7
  import { getBetterAuthRuntimeConfig } from '../services/betterAuthConfig.js';
8
+ import { authenticateForwardAuthToken } from '../services/forwardAuthService.js';
8
9
  import { safeCompare } from '../utils/safeCompare.js';
9
10
  import { getBearerTokenFromHeaders } from '../utils/bearerAuth.js';
10
11
  import { logger } from '../utils/logger.js';
@@ -86,6 +87,22 @@ export const auth = async (req, res, next) => {
86
87
  enableGroupNameRoute: true,
87
88
  skipAuth: false,
88
89
  };
90
+ // Forward auth runs first: a JWT from the configured issuer either
91
+ // authenticates here or is rejected, and never falls back to other methods.
92
+ const forwardAuthResult = await authenticateForwardAuthToken(getBearerTokenFromHeaders(req.headers, systemConfig), systemConfig);
93
+ if (forwardAuthResult.status === 'rejected') {
94
+ res.status(401).json({ success: false, message: 'Token is not valid' });
95
+ return;
96
+ }
97
+ if (forwardAuthResult.status === 'authenticated') {
98
+ req.user = {
99
+ username: forwardAuthResult.user.username,
100
+ isAdmin: forwardAuthResult.user.isAdmin || false,
101
+ };
102
+ req.forwardAuthUser = forwardAuthResult.user;
103
+ next();
104
+ return;
105
+ }
89
106
  // Check if bearer auth via configured keys can validate this request
90
107
  let matchingBearerKey;
91
108
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middlewares/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middlewares/auth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { expandEnvVars, loadSettings } from '../config/index.js';
1
+ import { loadSettings } from '../config/index.js';
2
2
  import { getSystemConfigDao } from '../dao/DaoFactory.js';
3
3
  import { resolveInstallBaseUrl } from '../utils/installBaseUrl.js';
4
+ import { normalizeOptionalString, resolveBooleanSetting, resolveStringArraySetting, resolveStringSetting, } from '../utils/settingResolvers.js';
4
5
  import { getCachedSystemConfig, isDatabaseModeEnabled } from '../utils/systemConfigCache.js';
5
6
  const DEFAULT_BETTER_AUTH_BASE_PATH = '/api/auth/better';
6
7
  const DEFAULT_OIDC_SCOPES = ['openid', 'profile', 'email'];
@@ -21,32 +22,6 @@ let mountedSsoProviders = new Set();
21
22
  export const setMountedSsoProviders = (providers) => {
22
23
  mountedSsoProviders = new Set(providers);
23
24
  };
24
- const parseBoolean = (value) => {
25
- if (typeof value === 'boolean') {
26
- return value;
27
- }
28
- if (typeof value !== 'string') {
29
- return undefined;
30
- }
31
- const normalizedValue = value.trim().toLowerCase();
32
- if (!normalizedValue) {
33
- return undefined;
34
- }
35
- if (['true', '1', 'yes', 'on'].includes(normalizedValue)) {
36
- return true;
37
- }
38
- if (['false', '0', 'no', 'off'].includes(normalizedValue)) {
39
- return false;
40
- }
41
- return undefined;
42
- };
43
- const normalizeOptionalString = (value) => {
44
- if (typeof value !== 'string') {
45
- return undefined;
46
- }
47
- const trimmedValue = expandEnvVars(value).trim();
48
- return trimmedValue || undefined;
49
- };
50
25
  const normalizePath = (value) => {
51
26
  const normalizedValue = normalizeOptionalString(value);
52
27
  if (!normalizedValue) {
@@ -66,40 +41,6 @@ const normalizeTrustedOrigin = (value) => {
66
41
  return null;
67
42
  }
68
43
  };
69
- const splitStringArray = (value) => {
70
- const normalizedValue = expandEnvVars(value).trim();
71
- if (!normalizedValue) {
72
- return [];
73
- }
74
- if (normalizedValue.startsWith('[')) {
75
- try {
76
- const parsedValue = JSON.parse(normalizedValue);
77
- if (Array.isArray(parsedValue)) {
78
- return parsedValue
79
- .map((item) => normalizeOptionalString(item))
80
- .filter((item) => Boolean(item));
81
- }
82
- }
83
- catch {
84
- // Fall back to delimiter-based parsing below.
85
- }
86
- }
87
- const delimiter = normalizedValue.includes(',') ? /,/ : /\s+/;
88
- return normalizedValue
89
- .split(delimiter)
90
- .map((item) => item.trim())
91
- .filter((item) => item.length > 0);
92
- };
93
- const normalizeStringArray = (value, fallback = []) => {
94
- const normalized = Array.isArray(value)
95
- ? value
96
- .map((item) => normalizeOptionalString(item))
97
- .filter((item) => Boolean(item))
98
- : typeof value === 'string'
99
- ? splitStringArray(value)
100
- : [];
101
- return normalized.length > 0 ? normalized : fallback;
102
- };
103
44
  const normalizePrompt = (value) => {
104
45
  const normalizedValue = normalizeOptionalString(value);
105
46
  if (!normalizedValue || !VALID_OIDC_PROMPTS.has(normalizedValue)) {
@@ -110,41 +51,6 @@ const normalizePrompt = (value) => {
110
51
  export const resolveBetterAuthBaseUrl = (systemConfig) => normalizeOptionalString(process.env.BETTER_AUTH_URL) ||
111
52
  normalizeOptionalString(systemConfig?.auth?.betterAuth?.baseUrl) ||
112
53
  resolveInstallBaseUrl(systemConfig);
113
- const resolveBooleanSetting = (envValue, settingsValue, defaultValue) => {
114
- const envOverride = parseBoolean(envValue);
115
- if (envOverride !== undefined) {
116
- return envOverride;
117
- }
118
- const settingsOverride = parseBoolean(settingsValue);
119
- if (settingsOverride !== undefined) {
120
- return settingsOverride;
121
- }
122
- return defaultValue;
123
- };
124
- const resolveStringSetting = (envValue, settingsValue, defaultValue) => {
125
- const envOverride = normalizeOptionalString(envValue);
126
- if (envOverride !== undefined) {
127
- return envOverride;
128
- }
129
- const settingsOverride = normalizeOptionalString(settingsValue);
130
- if (settingsOverride !== undefined) {
131
- return settingsOverride;
132
- }
133
- return defaultValue;
134
- };
135
- const resolveStringArraySetting = (envValue, settingsValue, defaultValue = []) => {
136
- if (envValue !== undefined) {
137
- const envOverride = normalizeStringArray(envValue, []);
138
- if (envOverride.length > 0) {
139
- return envOverride;
140
- }
141
- }
142
- const settingsOverride = normalizeStringArray(settingsValue, []);
143
- if (settingsOverride.length > 0) {
144
- return settingsOverride;
145
- }
146
- return defaultValue;
147
- };
148
54
  const resolvePromptSetting = (envValue, settingsValue) => {
149
55
  const envOverride = normalizePrompt(envValue);
150
56
  if (envOverride !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"betterAuthConfig.js","sourceRoot":"","sources":["../../src/services/betterAuthConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"betterAuthConfig.js","sourceRoot":"","sources":["../../src/services/betterAuthConfig.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import crypto from 'crypto';
2
2
  import { createUser, findUserByUsername, findUserByEmail, findUserBySsoUserId, } from '../models/User.js';
3
3
  import { getBetterAuthRuntimeConfig } from './betterAuthConfig.js';
4
4
  import { getUserDao } from '../dao/index.js';
5
+ import { isForwardAuthUser } from './forwardAuthService.js';
5
6
  import { logger } from '../utils/logger.js';
6
7
  export const getBetterAuthSession = async (req) => {
7
8
  if (!(await getBetterAuthRuntimeConfig()).enabled) {
@@ -21,6 +22,15 @@ export const getBetterAuthSession = async (req) => {
21
22
  return null;
22
23
  }
23
24
  };
25
+ // Forward-auth users belong to the upstream gateway's identity provider and are
26
+ // never adopted by a Better Auth login, even when the email or username matches.
27
+ const rejectForwardAuthUser = (user) => {
28
+ if (user && isForwardAuthUser(user)) {
29
+ logger.warn(`Better Auth login refused: user "${user.username}" is bound to a forward-auth identity`);
30
+ return null;
31
+ }
32
+ return user;
33
+ };
24
34
  export const resolveBetterAuthUser = async (req) => {
25
35
  const session = await getBetterAuthSession(req);
26
36
  if (!session) {
@@ -48,7 +58,10 @@ export const resolveBetterAuthUser = async (req) => {
48
58
  }
49
59
  // Priority 2: Email match (fallback for users created before ssoUserId support)
50
60
  if (email) {
51
- const emailMatch = await findUserByEmail(email);
61
+ const emailMatch = rejectForwardAuthUser(await findUserByEmail(email));
62
+ if (emailMatch === null) {
63
+ return null;
64
+ }
52
65
  if (emailMatch) {
53
66
  // Backfill ssoUserId for stable matching on subsequent logins
54
67
  if (ssoUserId && !emailMatch.ssoUserId) {
@@ -66,7 +79,10 @@ export const resolveBetterAuthUser = async (req) => {
66
79
  // Priority 3: Username match (backward compatibility)
67
80
  const username = email || session.user?.name || session.user?.id;
68
81
  if (username) {
69
- const usernameMatch = await findUserByUsername(username);
82
+ const usernameMatch = rejectForwardAuthUser(await findUserByUsername(username));
83
+ if (usernameMatch === null) {
84
+ return null;
85
+ }
70
86
  if (usernameMatch) {
71
87
  // Backfill both ssoUserId and email for existing users
72
88
  const userDao = getUserDao();
@@ -110,7 +126,7 @@ export const resolveBetterAuthUser = async (req) => {
110
126
  return createdUser;
111
127
  }
112
128
  // Handle race condition: another request created the user between our check and create
113
- const refreshedUser = await findUserByUsername(username);
129
+ const refreshedUser = rejectForwardAuthUser(await findUserByUsername(username));
114
130
  return refreshedUser || null;
115
131
  };
116
132
  //# sourceMappingURL=betterAuthSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"betterAuthSession.js","sourceRoot":"","sources":["../../src/services/betterAuthSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"betterAuthSession.js","sourceRoot":"","sources":["../../src/services/betterAuthSession.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { getSettingsPath } from '../config/index.js';
6
6
  import { getCredentialBindingDao } from '../dao/DaoFactory.js';
7
7
  import { RequestContextService } from './requestContextService.js';
8
8
  import { getT } from '../utils/i18n.js';
9
+ import { logger } from '../utils/logger.js';
9
10
  import { CredentialBindingError, credentialSlotId, validateCredentialTemplate, } from '../utils/credentialTemplate.js';
10
11
  export const credentialBindingEvents = new EventEmitter();
11
12
  const parseEncryptionKey = (encoded) => {
@@ -157,6 +158,47 @@ export const deleteCredentialBindings = async (filter) => {
157
158
  await getCredentialBindingDao().delete(filter);
158
159
  credentialBindingEvents.emit('invalidate', filter);
159
160
  };
161
+ // Copies every binding of a server being renamed to the new name. The server
162
+ // name is part of the ciphertext's associated data, so each binding is
163
+ // re-encrypted rather than moved. The originals stay until the caller deletes
164
+ // them after the rename has succeeded. All bindings are decrypted before the
165
+ // first write: if one cannot be (missing, unreadable or wrong key, damaged
166
+ // row), nothing is written and the rename fails, so a recoverable binding is
167
+ // never discarded. A failed save removes the copies already written.
168
+ export const copyCredentialBindings = async (oldName, newName) => {
169
+ const dao = getCredentialBindingDao();
170
+ const copies = [];
171
+ for (const username of await dao.listUsernames(oldName)) {
172
+ const binding = await dao.get(oldName, username);
173
+ if (!binding)
174
+ continue;
175
+ let values;
176
+ try {
177
+ values = await decrypt(binding);
178
+ }
179
+ catch (error) {
180
+ throw new CredentialBindingError(`Cannot rename '${oldName}': the credential binding of user '${username}' cannot be decrypted (${error instanceof Error ? error.message : String(error)}). Restore the encryption key, or have the user replace or delete that binding, then rename again`);
181
+ }
182
+ copies.push({
183
+ ...binding,
184
+ serverName: newName,
185
+ encryptedValues: await encrypt(newName, username, values),
186
+ });
187
+ }
188
+ try {
189
+ for (const copy of copies)
190
+ await dao.save(copy);
191
+ }
192
+ catch (error) {
193
+ await deleteCredentialBindings({ serverName: newName }).catch((cleanupError) => logger.error('Failed to remove partial credential binding copies after a failed rename', {
194
+ serverName: oldName,
195
+ newName,
196
+ error: cleanupError instanceof Error ? cleanupError.message : String(cleanupError),
197
+ }));
198
+ throw error;
199
+ }
200
+ credentialBindingEvents.emit('invalidate', { serverName: newName });
201
+ };
160
202
  export const resolveCredentialBinding = async (serverName, username, config) => {
161
203
  const slots = validateCredentialTemplate(config) || [];
162
204
  const binding = await getCredentialBindingDao().get(serverName, username);
@@ -1 +1 @@
1
- {"version":3,"file":"credentialBindingService.js","sourceRoot":"","sources":["../../src/services/credentialBindingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,YAAY,EAAE,CAAC;AAE1D,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAU,EAAE;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;QAC5D,MAAM,IAAI,sBAAsB,CAC9B,6HAA6H,CAC9H,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAmB,EAAE;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAChE,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,GAAG,eAAe,EAAE,kBAAkB,CAAC;IACpD,MAAM,OAAO,GAAG,GAAuB,EAAE;QACvC,IAAI,CAAC;YACH,OAAO,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACzE,IAAI,KAAK,YAAY,sBAAsB;gBAAE,MAAM,KAAK,CAAC;YACzD,MAAM,IAAI,sBAAsB,CAC9B,4DAA4D,CAC7D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;IAC3B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,IAAI,sBAAsB,CACxB,wIAAwI,CACzI,CAAC;IACJ,IAAI,CAAC,WAAW;QAAE,MAAM,OAAO,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,uBAAuB,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,OAAO,EAAE,CAAC;IACnC,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAC9C,IAAI,WAAW;QAAE,MAAM,OAAO,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,MAAM,CAAC;IAChD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC;YACH,kFAAkF;YAClF,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QACtE,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG;YAAE,MAAM,OAAO,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAsB;YAAE,MAAM,KAAK,CAAC;QACzD,MAAM,IAAI,sBAAsB,CAC9B,8IAA8I,CAC/I,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,QAAgB,EAAU,EAAE,CACvE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEtD,MAAM,OAAO,GAAG,KAAK,EACnB,UAAkB,EAClB,QAAgB,EAChB,MAA8B,EACb,EAAE;IACnB,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAClG,OAAO;QACL,IAAI;QACJ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACrB,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,KAAK,EAAE,OAAgC,EAAmC,EAAE;IAC1F,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1E,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjF,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CACf,MAAM,CAAC,MAAM,CAAC;YACZ,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAClD,QAAQ,CAAC,KAAK,EAAE;SACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACpB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,sBAAsB,CAC9B,iHAAiH,CAClH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAuB,EAAE;IAC/C,MAAM,OAAO,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACxE,OAAO,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,CAAC,UAAkB,EAAU,EAAE,CACrE,sCAAsC,UAAU,wDAAwD,CAAC;AAE3G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAA0B,EAAE;IACnF,MAAM,QAAQ,GAAG,+BAA+B,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,qBAAqB,EAAE;QAC7D,UAAU;QACV,YAAY,EAAE,QAAQ;KACvB,CAAC,CAAC;IACH,OAAO,IAAI,sBAAsB,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,UAAkB,EAClB,QAAgB,EAChB,MAAoB,EACpB,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,eAAe,GAAG,KAAK;SAC1B,GAAG,CAAC,gBAAgB,CAAC;SACrB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QACvE,eAAe;QACf,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;KACtC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,UAAkB,EAClB,QAAgB,EAChB,MAAoB,EACpB,MAAe,EACA,EAAE;IACjB,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,MAAM;QACf,MAAM,IAAI,sBAAsB,CAAC,8CAA8C,CAAC,CAAC;IACnF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,MAAM,IAAI,sBAAsB,CAAC,kDAAkD,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,MAAiC,CAAC;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACxC,IACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CACN,CAAC,EAAE,EAAE,EAAE,CACL,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,QAAQ;YAC9B,CAAE,MAAM,CAAC,EAAE,CAAY,CAAC,IAAI,EAAE;YAC7B,MAAM,CAAC,EAAE,CAAY,CAAC,MAAM,GAAG,KAAK;YACpC,MAAM,CAAC,EAAE,CAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAW,CAAC,CAAC,CACrE;QAED,MAAM,IAAI,sBAAsB,CAC9B,+GAA+G,CAChH,CAAC;IACJ,MAAM,uBAAuB,EAAE,CAAC,IAAI,CAAC;QACnC,UAAU;QACV,QAAQ;QACR,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAgC,CAAC;QACtF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IACH,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,MAG9C,EAAiB,EAAE;IAClB,MAAM,uBAAuB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,UAAkB,EAClB,QAAgB,EAChB,MAAoB,EACpB,EAAE;IACF,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1E,IAAI,CAAC,OAAO;QAAE,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAiB;QAC7B,GAAG,MAAM;QACT,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE;QACtB,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;KAC/B,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAAE,OAAO,QAAQ,CAAC,OAAQ,CAAC,IAAI,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC;IACD,wEAAwE;IACxE,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACzF,CAAC;IACF,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAChD,CAAC;IACF,IAAI,MAAM,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO,GAAG;YACjB,GAAG,MAAM,CAAC,OAAO;YACjB,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAC3D,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAChD;SACF,CAAC;IACJ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;AACjE,CAAC,CAAC"}
1
+ {"version":3,"file":"credentialBindingService.js","sourceRoot":"","sources":["../../src/services/credentialBindingService.ts"],"names":[],"mappings":"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"}