studiograph 1.3.48-next.179 → 1.3.48-next.181

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 (220) hide show
  1. package/dist/core/secrets/registry.js +16 -0
  2. package/dist/core/secrets/registry.js.map +1 -1
  3. package/dist/mcp/state-signer.d.ts +21 -0
  4. package/dist/mcp/state-signer.js +85 -0
  5. package/dist/mcp/state-signer.js.map +1 -1
  6. package/dist/server/index.d.ts +8 -0
  7. package/dist/server/index.js +104 -9
  8. package/dist/server/index.js.map +1 -1
  9. package/dist/server/routes/auth-api.js +16 -5
  10. package/dist/server/routes/auth-api.js.map +1 -1
  11. package/dist/server/routes/oauth-api.d.ts +67 -0
  12. package/dist/server/routes/oauth-api.js +435 -0
  13. package/dist/server/routes/oauth-api.js.map +1 -0
  14. package/dist/services/auth-service.d.ts +29 -0
  15. package/dist/services/auth-service.js +48 -1
  16. package/dist/services/auth-service.js.map +1 -1
  17. package/dist/services/oauth-server-store.d.ts +147 -0
  18. package/dist/services/oauth-server-store.js +319 -0
  19. package/dist/services/oauth-server-store.js.map +1 -0
  20. package/dist/web/_app/immutable/assets/13.CvfaTRgX.css +1 -0
  21. package/dist/web/_app/immutable/chunks/-mePNNsO2.js +1 -0
  22. package/dist/web/_app/immutable/chunks/{D65Js3XE2.js → 5WQ4mgCT2.js} +1 -1
  23. package/dist/web/_app/immutable/chunks/6S9WOky5.js +1 -0
  24. package/dist/web/_app/immutable/chunks/7gnQLVrQ2.js +1 -0
  25. package/dist/web/_app/immutable/chunks/7tEqfvNS2.js +2 -0
  26. package/dist/web/_app/immutable/chunks/9K8VREGP.js +1 -0
  27. package/dist/web/_app/immutable/chunks/{BjjkqWQM.js → 9ROT1rsn.js} +1 -1
  28. package/dist/web/_app/immutable/chunks/{BBxt8lpa.js → B-hn0HJT.js} +1 -1
  29. package/dist/web/_app/immutable/chunks/B-pilXCA2.js +1 -0
  30. package/dist/web/_app/immutable/chunks/{DvJSCDuZ2.js → B28Vf9om2.js} +1 -1
  31. package/dist/web/_app/immutable/chunks/{CwzVEj87.js → B5F_URPg.js} +1 -1
  32. package/dist/web/_app/immutable/chunks/{v7me-ydg.js → B6qeIQZz.js} +1 -1
  33. package/dist/web/_app/immutable/chunks/B8WTjT2u.js +1 -0
  34. package/dist/web/_app/immutable/chunks/{DdlYGgLz.js → BFgA2zjG2.js} +1 -1
  35. package/dist/web/_app/immutable/chunks/BGNJ-lTr.js +1 -0
  36. package/dist/web/_app/immutable/chunks/{DBzQ8LyQ2.js → BKVRLHiJ2.js} +1 -1
  37. package/dist/web/_app/immutable/chunks/BN8cQzIs.js +1 -0
  38. package/dist/web/_app/immutable/chunks/BNbGKkEJ.js +3 -0
  39. package/dist/web/_app/immutable/chunks/{DWygwzcO.js → BNxIc8SY.js} +1 -1
  40. package/dist/web/_app/immutable/chunks/BTnt1GkP2.js +1 -0
  41. package/dist/web/_app/immutable/chunks/{B7EOyBxX2.js → BUzvX17Y.js} +1 -1
  42. package/dist/web/_app/immutable/chunks/{BKofydZl.js → BV8YIrn6.js} +1 -1
  43. package/dist/web/_app/immutable/chunks/BXnIVawn.js +1 -0
  44. package/dist/web/_app/immutable/chunks/{CCLR-AJL2.js → BY4Zyyc52.js} +1 -1
  45. package/dist/web/_app/immutable/chunks/BaLP1jXp2.js +9 -0
  46. package/dist/web/_app/immutable/chunks/Bb2VWM__2.js +2 -0
  47. package/dist/web/_app/immutable/chunks/{7Bu427my2.js → BdXLwWd12.js} +1 -1
  48. package/dist/web/_app/immutable/chunks/BoLy1odm.js +1 -0
  49. package/dist/web/_app/immutable/chunks/{BEQFZ5Sr.js → Bvm7KMg_.js} +1 -1
  50. package/dist/web/_app/immutable/chunks/BwAY4tYu.js +1 -0
  51. package/dist/web/_app/immutable/chunks/BxQxWnsh.js +23 -0
  52. package/dist/web/_app/immutable/chunks/BxW0PbEt2.js +2 -0
  53. package/dist/web/_app/immutable/chunks/ByZHejjp2.js +1 -0
  54. package/dist/web/_app/immutable/chunks/Bz9lrgGs.js +1 -0
  55. package/dist/web/_app/immutable/chunks/{DsbSUHmf.js → C1Abp0UU.js} +1 -1
  56. package/dist/web/_app/immutable/chunks/C1rK4X1k2.js +1 -0
  57. package/dist/web/_app/immutable/chunks/{BuKi0vpu2.js → C1trcC8M.js} +1 -1
  58. package/dist/web/_app/immutable/chunks/C84WqOAa.js +1 -0
  59. package/dist/web/_app/immutable/chunks/C9euhFQn.js +1 -0
  60. package/dist/web/_app/immutable/chunks/{BlyFGPFV.js → C9tvkk7Y.js} +1 -1
  61. package/dist/web/_app/immutable/chunks/CJDBp1YH.js +1 -0
  62. package/dist/web/_app/immutable/chunks/{CcwNqeE42.js → CLodcQz02.js} +1 -1
  63. package/dist/web/_app/immutable/chunks/{g09ZrevW.js → CM3KYmJe.js} +1 -1
  64. package/dist/web/_app/immutable/chunks/CNf2jz_q.js +2 -0
  65. package/dist/web/_app/immutable/chunks/CNnqIFio2.js +1 -0
  66. package/dist/web/_app/immutable/chunks/{CD0X7XPW.js → CQ1eQ93t.js} +1 -1
  67. package/dist/web/_app/immutable/chunks/{CSUrYOis.js → CThZeMRB.js} +1 -1
  68. package/dist/web/_app/immutable/chunks/CUYWGNgl2.js +1 -0
  69. package/dist/web/_app/immutable/chunks/{BM_vIwVC.js → CWhMJY-M.js} +1 -1
  70. package/dist/web/_app/immutable/chunks/CZqvCTCv2.js +1 -0
  71. package/dist/web/_app/immutable/chunks/{B15-kvCe2.js → CbLx5mws2.js} +1 -1
  72. package/dist/web/_app/immutable/chunks/CdtzRVZK.js +1 -0
  73. package/dist/web/_app/immutable/chunks/ClekJQ7Q2.js +1 -0
  74. package/dist/web/_app/immutable/chunks/CmqqHOa-2.js +1 -0
  75. package/dist/web/_app/immutable/chunks/{BQULA6er.js → CqcbWwRX.js} +1 -1
  76. package/dist/web/_app/immutable/chunks/CtHwyaqn2.js +1 -0
  77. package/dist/web/_app/immutable/chunks/{DaoOQFPb.js → CvSEodTA.js} +1 -1
  78. package/dist/web/_app/immutable/chunks/CwOvN2au2.js +1 -0
  79. package/dist/web/_app/immutable/chunks/{BBUvh94D2.js → CxA6ebyc2.js} +1 -1
  80. package/dist/web/_app/immutable/chunks/CzjMUH3I.js +2 -0
  81. package/dist/web/_app/immutable/chunks/{jKb0RD872.js → D-DQt99F2.js} +3 -3
  82. package/dist/web/_app/immutable/chunks/{B9jkPmBx.js → D-HqPuIZ.js} +1 -1
  83. package/dist/web/_app/immutable/chunks/D-VX5Kzr.js +1 -0
  84. package/dist/web/_app/immutable/chunks/D1WUC4fO2.js +1 -0
  85. package/dist/web/_app/immutable/chunks/{BCaRi2AF.js → D32E2pxT.js} +1 -1
  86. package/dist/web/_app/immutable/chunks/{CTh-kzGP2.js → D4I-uKQ12.js} +1 -1
  87. package/dist/web/_app/immutable/chunks/D7wzMxYw2.js +1 -0
  88. package/dist/web/_app/immutable/chunks/DA3HEX3X2.js +1 -0
  89. package/dist/web/_app/immutable/chunks/DC6i37dC.js +1 -0
  90. package/dist/web/_app/immutable/chunks/DM3I7SN8.js +7 -0
  91. package/dist/web/_app/immutable/chunks/{BQW-EDgP2.js → DP3yQ7rw2.js} +1 -1
  92. package/dist/web/_app/immutable/chunks/{DOmH4G9o.js → DRAeoAwf.js} +1 -1
  93. package/dist/web/_app/immutable/chunks/{DYXDRmoo.js → DU5d0f1j.js} +1 -1
  94. package/dist/web/_app/immutable/chunks/DYc5KW3F.js +1 -0
  95. package/dist/web/_app/immutable/chunks/{Cm59z0JH.js → Da_DkLKw.js} +1 -1
  96. package/dist/web/_app/immutable/chunks/{DS2uqoo4.js → DbThofTW.js} +2 -2
  97. package/dist/web/_app/immutable/chunks/DblSrRAw.js +1 -0
  98. package/dist/web/_app/immutable/chunks/DhMZxcZe2.js +2 -0
  99. package/dist/web/_app/immutable/chunks/{D6jsIfdA2.js → DjspfRUc.js} +1 -1
  100. package/dist/web/_app/immutable/chunks/DkfE9JSE2.js +1 -0
  101. package/dist/web/_app/immutable/chunks/{CDTjuBSm.js → Dm7gqXnA.js} +1 -1
  102. package/dist/web/_app/immutable/chunks/Dn3R8S-U.js +1 -0
  103. package/dist/web/_app/immutable/chunks/{6J3aYjme.js → DpcuW6bz.js} +1 -1
  104. package/dist/web/_app/immutable/chunks/Dqk8zkhf.js +1 -0
  105. package/dist/web/_app/immutable/chunks/DwlAEcPC.js +1 -0
  106. package/dist/web/_app/immutable/chunks/Dy1qOSO3.js +1 -0
  107. package/dist/web/_app/immutable/chunks/EvV1eVtY.js +1 -0
  108. package/dist/web/_app/immutable/chunks/FuiJnZG0.js +1 -0
  109. package/dist/web/_app/immutable/chunks/Izkulod7.js +1 -0
  110. package/dist/web/_app/immutable/chunks/KRX_bpki.js +5 -0
  111. package/dist/web/_app/immutable/chunks/KSBBp7yY2.js +1 -0
  112. package/dist/web/_app/immutable/chunks/Kjhe2gf22.js +1 -0
  113. package/dist/web/_app/immutable/chunks/W-TSyBHx2.js +1 -0
  114. package/dist/web/_app/immutable/chunks/{DvPuaTCl2.js → XcWejFm_.js} +1 -1
  115. package/dist/web/_app/immutable/chunks/{C94TJqPI.js → ZDFp3pgh.js} +1 -1
  116. package/dist/web/_app/immutable/chunks/kNaey6uv.js +1 -0
  117. package/dist/web/_app/immutable/chunks/nW0jeTHD2.js +1 -0
  118. package/dist/web/_app/immutable/chunks/pHPOPV-p.js +1 -0
  119. package/dist/web/_app/immutable/chunks/qwr5boV8.js +1 -0
  120. package/dist/web/_app/immutable/chunks/uBgoVlsx.js +3 -0
  121. package/dist/web/_app/immutable/chunks/v4KuRCRy2.js +2 -0
  122. package/dist/web/_app/immutable/chunks/{CYTTTma0.js → xY0c-UfG.js} +1 -1
  123. package/dist/web/_app/immutable/chunks/yJ0SyLT7.js +2 -0
  124. package/dist/web/_app/immutable/entry/app.AJmu_CQm.js +2 -0
  125. package/dist/web/_app/immutable/entry/start.feyQbISV.js +1 -0
  126. package/dist/web/_app/immutable/nodes/0.GP1j9UKP.js +2 -0
  127. package/dist/web/_app/immutable/nodes/{1.CZEN4IpS.js → 1.DHBhFlp0.js} +1 -1
  128. package/dist/web/_app/immutable/nodes/10.7exIsBwP.js +1 -0
  129. package/dist/web/_app/immutable/nodes/11.BkgtyZLy.js +1 -0
  130. package/dist/web/_app/immutable/nodes/12.BHqTtbVb.js +1 -0
  131. package/dist/web/_app/immutable/nodes/13.70URDVT_.js +2 -0
  132. package/dist/web/_app/immutable/nodes/14.CJdVh3wo.js +1 -0
  133. package/dist/web/_app/immutable/nodes/2.Dby9UBF2.js +109 -0
  134. package/dist/web/_app/immutable/nodes/3.BUloAXYw.js +2 -0
  135. package/dist/web/_app/immutable/nodes/4.DBxxMoEw.js +14 -0
  136. package/dist/web/_app/immutable/nodes/5.B3hdn_Uw.js +1 -0
  137. package/dist/web/_app/immutable/nodes/6.CXUvMBni.js +1 -0
  138. package/dist/web/_app/immutable/nodes/7.C4O5EIig.js +1 -0
  139. package/dist/web/_app/immutable/nodes/8.D-oJdWpU.js +1 -0
  140. package/dist/web/_app/immutable/nodes/9.DlvbJfkm.js +1 -0
  141. package/dist/web/_app/version.json +1 -1
  142. package/dist/web/index.html +24 -22
  143. package/package.json +1 -1
  144. package/dist/web/_app/immutable/chunks/0fRHZxq5.js +0 -1
  145. package/dist/web/_app/immutable/chunks/0iDDDyaZ.js +0 -1
  146. package/dist/web/_app/immutable/chunks/19s92Yak2.js +0 -1
  147. package/dist/web/_app/immutable/chunks/2H1ceKX3.js +0 -1
  148. package/dist/web/_app/immutable/chunks/3UsK_Qzm2.js +0 -1
  149. package/dist/web/_app/immutable/chunks/96h3ktuk.js +0 -1
  150. package/dist/web/_app/immutable/chunks/B-V5eMSw2.js +0 -1
  151. package/dist/web/_app/immutable/chunks/B-i9_YVM.js +0 -1
  152. package/dist/web/_app/immutable/chunks/B3wOM4jg2.js +0 -1
  153. package/dist/web/_app/immutable/chunks/BEaZpbHS2.js +0 -2
  154. package/dist/web/_app/immutable/chunks/BLp4BWLc2.js +0 -9
  155. package/dist/web/_app/immutable/chunks/BR6jMpLB.js +0 -1
  156. package/dist/web/_app/immutable/chunks/BU-48CyB.js +0 -2
  157. package/dist/web/_app/immutable/chunks/BddNmQ8j.js +0 -1
  158. package/dist/web/_app/immutable/chunks/BeuunHPO.js +0 -1
  159. package/dist/web/_app/immutable/chunks/BkkMnGUP2.js +0 -2
  160. package/dist/web/_app/immutable/chunks/Bo5dghSu.js +0 -3
  161. package/dist/web/_app/immutable/chunks/Bvz_iWmg.js +0 -5
  162. package/dist/web/_app/immutable/chunks/ByidpUhu.js +0 -1
  163. package/dist/web/_app/immutable/chunks/C-5k5JAS2.js +0 -1
  164. package/dist/web/_app/immutable/chunks/C0IHcqNs2.js +0 -1
  165. package/dist/web/_app/immutable/chunks/C35TIzaB.js +0 -1
  166. package/dist/web/_app/immutable/chunks/C6Nx0jpM.js +0 -1
  167. package/dist/web/_app/immutable/chunks/CH7c1BnD.js +0 -3
  168. package/dist/web/_app/immutable/chunks/CIa_l46l.js +0 -7
  169. package/dist/web/_app/immutable/chunks/CP-1Q3ug.js +0 -2
  170. package/dist/web/_app/immutable/chunks/CXTGng1_2.js +0 -1
  171. package/dist/web/_app/immutable/chunks/Cc62qkM92.js +0 -1
  172. package/dist/web/_app/immutable/chunks/CkLfUXwy.js +0 -1
  173. package/dist/web/_app/immutable/chunks/CokE4L8B.js +0 -1
  174. package/dist/web/_app/immutable/chunks/CtJ6pA5i2.js +0 -2
  175. package/dist/web/_app/immutable/chunks/D-8l5CL7.js +0 -2
  176. package/dist/web/_app/immutable/chunks/D00MFB9_2.js +0 -1
  177. package/dist/web/_app/immutable/chunks/D41CbXmM.js +0 -1
  178. package/dist/web/_app/immutable/chunks/D9j_ppP_.js +0 -1
  179. package/dist/web/_app/immutable/chunks/DAXW5iLp.js +0 -1
  180. package/dist/web/_app/immutable/chunks/DTCHhxD5.js +0 -1
  181. package/dist/web/_app/immutable/chunks/DW-zFoy-.js +0 -1
  182. package/dist/web/_app/immutable/chunks/DczxLDa-2.js +0 -2
  183. package/dist/web/_app/immutable/chunks/DdLkNvPf.js +0 -23
  184. package/dist/web/_app/immutable/chunks/DdpEwdwU2.js +0 -1
  185. package/dist/web/_app/immutable/chunks/DiMQob8p.js +0 -1
  186. package/dist/web/_app/immutable/chunks/DiQJ9DLy.js +0 -1
  187. package/dist/web/_app/immutable/chunks/DlZS_4WM2.js +0 -1
  188. package/dist/web/_app/immutable/chunks/Dng3OcRd2.js +0 -1
  189. package/dist/web/_app/immutable/chunks/DpzG2mVI.js +0 -1
  190. package/dist/web/_app/immutable/chunks/GXzoqwfB2.js +0 -1
  191. package/dist/web/_app/immutable/chunks/JImE4-DI2.js +0 -1
  192. package/dist/web/_app/immutable/chunks/Jv_B_GbB2.js +0 -1
  193. package/dist/web/_app/immutable/chunks/MgrdPbGs2.js +0 -1
  194. package/dist/web/_app/immutable/chunks/RmiWpCin2.js +0 -1
  195. package/dist/web/_app/immutable/chunks/ZIRQGP2v.js +0 -2
  196. package/dist/web/_app/immutable/chunks/cpS8r_ue2.js +0 -1
  197. package/dist/web/_app/immutable/chunks/d58PT3PS2.js +0 -1
  198. package/dist/web/_app/immutable/chunks/diVlNUTa.js +0 -1
  199. package/dist/web/_app/immutable/chunks/jNfgwKL-.js +0 -1
  200. package/dist/web/_app/immutable/chunks/pjJWKY9J.js +0 -1
  201. package/dist/web/_app/immutable/chunks/qrN283Iw.js +0 -1
  202. package/dist/web/_app/immutable/chunks/tTNwqmIX.js +0 -1
  203. package/dist/web/_app/immutable/chunks/uuFM-ygL.js +0 -1
  204. package/dist/web/_app/immutable/entry/app.B31HOzgQ.js +0 -2
  205. package/dist/web/_app/immutable/entry/start.CvCSyD3m.js +0 -1
  206. package/dist/web/_app/immutable/nodes/0.BkRyZcST.js +0 -2
  207. package/dist/web/_app/immutable/nodes/10.NOrzR8qE.js +0 -1
  208. package/dist/web/_app/immutable/nodes/11.BGcfv6p5.js +0 -1
  209. package/dist/web/_app/immutable/nodes/12.BaRZLYy-.js +0 -1
  210. package/dist/web/_app/immutable/nodes/13.BJM8mKkL.js +0 -1
  211. package/dist/web/_app/immutable/nodes/2.BnY03rhQ.js +0 -109
  212. package/dist/web/_app/immutable/nodes/3.Ct-975VL.js +0 -2
  213. package/dist/web/_app/immutable/nodes/4.CW98IVNL.js +0 -14
  214. package/dist/web/_app/immutable/nodes/5.2o1PtX1I.js +0 -1
  215. package/dist/web/_app/immutable/nodes/6.CYLTs8J7.js +0 -1
  216. package/dist/web/_app/immutable/nodes/7.Dl_w1bO9.js +0 -1
  217. package/dist/web/_app/immutable/nodes/8.c2Z1MgZB.js +0 -1
  218. package/dist/web/_app/immutable/nodes/9.DjzCbg3M.js +0 -1
  219. /package/dist/web/_app/immutable/assets/{13.CmLrbzZp.css → 14.CmLrbzZp.css} +0 -0
  220. /package/dist/web/_app/immutable/chunks/{B6Lt-qaJ2.js → B6Lt-qaJ.js} +0 -0
@@ -69,6 +69,22 @@ export const OPERATIONAL_ALLOWLIST = new Set([
69
69
  // API key non-interactively (alternative to the --api-key flag). Read
70
70
  // once during deploy, never by the running server — not a stored secret.
71
71
  'STUDIOGRAPH_DEPLOY_API_KEY',
72
+ // OAuth authorization-server issuer pinning. The canonical public base URL
73
+ // used to build OAuth discovery-metadata + token `aud` (never the inbound
74
+ // Host header). Operational config, not a stored secret — read at request
75
+ // time. RAILWAY_PUBLIC_DOMAIN is the platform-provided fallback.
76
+ 'STUDIOGRAPH_PUBLIC_URL',
77
+ 'RAILWAY_PUBLIC_DOMAIN',
78
+ // Managed-cloud auth handoff (src/server/routes/auth-api.ts). Operational
79
+ // config for the Studiograph Cloud login bridge — workspace/org identifiers
80
+ // + the cloud base URL + the HMAC verify token. Read at request time, not
81
+ // through the secret store. (These were previously read without being
82
+ // registered, tripping the orphan-env guard — registered here.)
83
+ 'STUDIOGRAPH_MANAGED_AUTH',
84
+ 'STUDIOGRAPH_CLOUD_URL',
85
+ 'STUDIOGRAPH_CLOUD_ORG_ID',
86
+ 'STUDIOGRAPH_CLOUD_WORKSPACE_ID',
87
+ 'STUDIOGRAPH_CLOUD_TOKEN',
72
88
  ]);
73
89
  /**
74
90
  * The canonical registry. Order is informative (matches plan §2 grouping)
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/secrets/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/secrets/registry.ts"],"names":[],"mappings":"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"}
@@ -39,3 +39,24 @@ export interface OAuthStateSigner {
39
39
  */
40
40
  export declare function deriveStateSigningKey(masterKey: Uint8Array): Uint8Array;
41
41
  export declare function createOAuthStateSigner(key: Uint8Array): OAuthStateSigner;
42
+ export interface PayloadSigner {
43
+ sign(payload: Record<string, unknown>): string;
44
+ verify(token: string, opts?: {
45
+ maxAgeMs?: number;
46
+ }): Record<string, unknown> | null;
47
+ }
48
+ /**
49
+ * Derive the consent signing key from the JWT secret via HKDF. Domain-separated
50
+ * from session JWTs (different mechanism entirely) and from the outbound state
51
+ * signer (different `info`). Keying off the JWT secret — rather than the master
52
+ * key — means the authorization server works on every boot, including
53
+ * non-encrypted/test boots where no master key is wired.
54
+ */
55
+ export declare function deriveConsentSigningKey(jwtSecret: string): Uint8Array;
56
+ /**
57
+ * Generic HMAC payload signer: serializes `{ p: <payload>, t: <ts> }`, signs
58
+ * the canonical JSON with HMAC-SHA256, and base64url-encodes the blob. `verify`
59
+ * recomputes the HMAC with `timingSafeEqual`, enforces a max age, and rejects
60
+ * future-dated tokens. Returns the payload object on success, null otherwise.
61
+ */
62
+ export declare function createConsentSigner(key: Uint8Array): PayloadSigner;
@@ -117,4 +117,89 @@ export function createOAuthStateSigner(key) {
117
117
  function canonicalMessage(p) {
118
118
  return JSON.stringify([p.c, p.u, p.o, p.t]);
119
119
  }
120
+ // ── Consent-binding signer (OAuth authorization server) ──
121
+ //
122
+ // The authorization server's `/oauth/authorize` GET renders a consent screen
123
+ // whose hidden field carries the authorize parameters (client_id,
124
+ // redirect_uri, code_challenge, scope, resource, userId, state). The POST
125
+ // handler must trust those params came from a GET we rendered for *this*
126
+ // logged-in user — without a signature an attacker could forge the form and
127
+ // mint a code bound to a victim. We HMAC-sign an arbitrary JSON payload with a
128
+ // timestamp, distinct from the outbound state signer above (different HKDF
129
+ // `info`), and key it off the JWT secret so the whole AS depends only on a
130
+ // value that is always present (no master key required, unlike state signing).
131
+ const CONSENT_HKDF_INFO = 'studiograph-oauth-consent-v1';
132
+ const CONSENT_DEFAULT_MAX_AGE_MS = 10 * 60 * 1000;
133
+ /**
134
+ * Derive the consent signing key from the JWT secret via HKDF. Domain-separated
135
+ * from session JWTs (different mechanism entirely) and from the outbound state
136
+ * signer (different `info`). Keying off the JWT secret — rather than the master
137
+ * key — means the authorization server works on every boot, including
138
+ * non-encrypted/test boots where no master key is wired.
139
+ */
140
+ export function deriveConsentSigningKey(jwtSecret) {
141
+ if (typeof jwtSecret !== 'string' || jwtSecret.length === 0) {
142
+ throw new Error('consent-signer: jwtSecret is required');
143
+ }
144
+ const derived = hkdfSync('sha256', Buffer.from(jwtSecret, 'utf-8'), Buffer.alloc(0), CONSENT_HKDF_INFO, HKDF_KEY_LENGTH);
145
+ return new Uint8Array(derived);
146
+ }
147
+ /**
148
+ * Generic HMAC payload signer: serializes `{ p: <payload>, t: <ts> }`, signs
149
+ * the canonical JSON with HMAC-SHA256, and base64url-encodes the blob. `verify`
150
+ * recomputes the HMAC with `timingSafeEqual`, enforces a max age, and rejects
151
+ * future-dated tokens. Returns the payload object on success, null otherwise.
152
+ */
153
+ export function createConsentSigner(key) {
154
+ if (key.length !== HKDF_KEY_LENGTH) {
155
+ throw new Error(`consent-signer: signing key must be ${HKDF_KEY_LENGTH} bytes`);
156
+ }
157
+ const keyBuf = Buffer.from(key);
158
+ return {
159
+ sign(payload) {
160
+ const t = Date.now();
161
+ const message = JSON.stringify([payload, t]);
162
+ const sig = createHmac('sha256', keyBuf).update(message).digest();
163
+ const blob = { p: payload, t, s: sig.toString('base64url') };
164
+ return Buffer.from(JSON.stringify(blob)).toString('base64url');
165
+ },
166
+ verify(token, opts) {
167
+ try {
168
+ const parsed = JSON.parse(Buffer.from(token, 'base64url').toString('utf-8'));
169
+ if (!parsed ||
170
+ typeof parsed.p !== 'object' ||
171
+ parsed.p === null ||
172
+ typeof parsed.t !== 'number' ||
173
+ !Number.isFinite(parsed.t) ||
174
+ typeof parsed.s !== 'string') {
175
+ return null;
176
+ }
177
+ const expected = createHmac('sha256', keyBuf)
178
+ .update(JSON.stringify([parsed.p, parsed.t]))
179
+ .digest();
180
+ let provided;
181
+ try {
182
+ provided = Buffer.from(parsed.s, 'base64url');
183
+ }
184
+ catch {
185
+ return null;
186
+ }
187
+ if (expected.length !== provided.length)
188
+ return null;
189
+ if (!timingSafeEqual(expected, provided))
190
+ return null;
191
+ const now = Date.now();
192
+ const maxAge = opts?.maxAgeMs ?? CONSENT_DEFAULT_MAX_AGE_MS;
193
+ if (now - parsed.t > maxAge)
194
+ return null;
195
+ if (parsed.t - now > FUTURE_SKEW_TOLERANCE_MS)
196
+ return null;
197
+ return parsed.p;
198
+ }
199
+ catch {
200
+ return null;
201
+ }
202
+ },
203
+ };
204
+ }
120
205
  //# sourceMappingURL=state-signer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-signer.js","sourceRoot":"","sources":["../../src/mcp/state-signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-signer.js","sourceRoot":"","sources":["../../src/mcp/state-signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE/D,MAAM,SAAS,GAAG,4BAA4B,CAAC;AAC/C,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAaxC;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAqB;IACzD,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,yDAAyD;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACrF,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAe;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,QAAQ,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO;QACL,IAAI,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE;YACpC,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAChF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG;gBACX,CAAC,EAAE,aAAa;gBAChB,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM;gBACT,CAAC;gBACD,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC7B,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,IAAI;YAChB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnC,IACE,CAAC,MAAM;oBACP,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ;oBAC5B,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ;oBAC5B,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC3B,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ;oBAC5B,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ;oBAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1B,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ,EAC5B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;qBAC1C,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;qBAChF,MAAM,EAAE,CAAC;gBACZ,IAAI,QAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAEtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,EAAE,QAAQ,IAAI,kBAAkB,CAAC;gBACpD,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACzC,IAAI,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,wBAAwB;oBAAE,OAAO,IAAI,CAAC;gBAE3D,OAAO;oBACL,aAAa,EAAE,MAAM,CAAC,CAAC;oBACvB,MAAM,EAAE,MAAM,CAAC,CAAC;oBAChB,MAAM,EAAE,MAAM,CAAC,CAAC;iBACjB,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAiD;IACzE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,4DAA4D;AAC5D,EAAE;AACF,6EAA6E;AAC7E,kEAAkE;AAClE,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAE/E,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AACzD,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAOlD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CACtB,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACf,iBAAiB,EACjB,eAAe,CAChB,CAAC;IACF,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAe;IACjD,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,eAAe,QAAQ,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO;QACL,IAAI,CAAC,OAAO;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,IAAI;YAChB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7E,IACE,CAAC,MAAM;oBACP,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ;oBAC5B,MAAM,CAAC,CAAC,KAAK,IAAI;oBACjB,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ;oBAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1B,OAAO,MAAM,CAAC,CAAC,KAAK,QAAQ,EAC5B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;qBAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC5C,MAAM,EAAE,CAAC;gBACZ,IAAI,QAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAChD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAEtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,EAAE,QAAQ,IAAI,0BAA0B,CAAC;gBAC5D,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACzC,IAAI,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,wBAAwB;oBAAE,OAAO,IAAI,CAAC;gBAE3D,OAAO,MAAM,CAAC,CAA4B,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -10,6 +10,7 @@ import { type FastifyInstance } from 'fastify';
10
10
  import { WorkspaceManager } from '../core/workspace-manager.js';
11
11
  import { GitUser } from '../services/git.js';
12
12
  import { WorkspaceConfig } from '../core/types.js';
13
+ import { AuthService } from '../services/auth-service.js';
13
14
  export interface ServerConfig {
14
15
  workspaceManager: WorkspaceManager;
15
16
  workspacePath: string;
@@ -31,4 +32,11 @@ export interface ServerConfig {
31
32
  export declare function resolveStaticFilePath(webDir: string, urlPath: string): string | null;
32
33
  export declare function buildAllowedCorsOrigins(workspaceConfig: WorkspaceConfig, port: number): Set<string>;
33
34
  export declare function isCorsOriginAllowed(origin: string | undefined, allowedOrigins: Set<string>): boolean;
35
+ /**
36
+ * Auth middleware — validates JWT cookie or Authorization: Bearer <key> header.
37
+ * When users exist in the auth database, all routes require authentication
38
+ * (except auth endpoints and static assets). When no users exist, everything
39
+ * is open (backward compatible).
40
+ */
41
+ export declare function createAuthHook(authService: AuthService, workspaceConfig: Record<string, unknown>): (req: any, reply: any) => Promise<any>;
34
42
  export declare function createServer(config: ServerConfig): Promise<FastifyInstance>;
@@ -27,6 +27,7 @@ import { registerViewsApiRoutes } from './routes/views-api.js';
27
27
  import { registerInsightsApiRoutes } from './routes/insights-api.js';
28
28
  import { registerMcpRoutes } from './routes/mcp.js';
29
29
  import { registerConnectorsApiRoutes } from './routes/connectors-api.js';
30
+ import { registerOAuthApiRoutes, resolveCanonicalBaseUrl } from './routes/oauth-api.js';
30
31
  import { registerAssetApiRoutes } from './routes/asset-api.js';
31
32
  import { registerR2ApiRoutes } from './routes/r2-api.js';
32
33
  import multipart from '@fastify/multipart';
@@ -142,7 +143,7 @@ function isTruthyEnv(value) {
142
143
  * (except auth endpoints and static assets). When no users exist, everything
143
144
  * is open (backward compatible).
144
145
  */
145
- function createAuthHook(authService) {
146
+ export function createAuthHook(authService, workspaceConfig) {
146
147
  return async (req, reply) => {
147
148
  // Always allow auth endpoints
148
149
  if (req.url.startsWith('/api/auth/'))
@@ -155,6 +156,34 @@ function createAuthHook(authService) {
155
156
  return;
156
157
  if (req.url.startsWith('/api/oauth/claim/'))
157
158
  return;
159
+ // OAuth authorization-server discovery + token endpoints are
160
+ // unauthenticated by spec (the client has no user yet). They are
161
+ // rate-limited + validated in oauth-api.ts. NOT /oauth/authorize — that
162
+ // one must run as the logged-in user (handled explicitly below, above the
163
+ // HTML-GET bypass which would otherwise skip cookie resolution).
164
+ if (req.url.startsWith('/.well-known/oauth-'))
165
+ return;
166
+ if (req.url.startsWith('/oauth/token') ||
167
+ req.url.startsWith('/oauth/register') ||
168
+ req.url.startsWith('/oauth/revoke'))
169
+ return;
170
+ if (req.url.startsWith('/oauth/authorize')) {
171
+ const cookieTok = req.cookies?.['__sg_token'];
172
+ // Resolve the session cookie, but REFUSE an OAuth access token here — a
173
+ // cookie is a browser-session surface and must never carry an
174
+ // authorization-server-issued token (see the cookie branch below).
175
+ const c = cookieTok ? authService.verifyTokenWithClaims(cookieTok) : null;
176
+ if (c && !c.oauth) {
177
+ req.user = c.user;
178
+ return;
179
+ }
180
+ // Not logged in: bounce a browser GET to login (carrying the authorize
181
+ // URL as returnTo); refuse a POST.
182
+ if (req.method === 'GET') {
183
+ return reply.redirect(`/login?returnTo=${encodeURIComponent(req.url)}`);
184
+ }
185
+ return reply.status(401).send({ error: 'login_required' });
186
+ }
158
187
  // Git HTTP routes have their own Basic Auth
159
188
  if (req.url.startsWith('/git/'))
160
189
  return;
@@ -178,12 +207,19 @@ function createAuthHook(authService) {
178
207
  // Cloud workspaces still require auth before the first user handoff lands.
179
208
  if (!authService.hasUsers() && !isTruthyEnv(process.env.STUDIOGRAPH_MANAGED_AUTH))
180
209
  return;
181
- // Check JWT cookie (web UI sessions)
210
+ // Check JWT cookie (web UI sessions).
211
+ //
212
+ // Security: resolve with verifyTokenWithClaims and REJECT OAuth access
213
+ // tokens (`oauth:true`). OAuth tokens are JWTs signed with the same
214
+ // jwtSecret, so the legacy verifyToken() would accept one supplied as a
215
+ // cookie and return a fully-privileged session — bypassing the MCP-only
216
+ // audience scoping enforced on the Bearer path below. A session cookie is
217
+ // a web-UI surface and must never carry an authorization-server token.
182
218
  const jwtToken = req.cookies?.['__sg_token'];
183
219
  if (jwtToken) {
184
- const user = authService.verifyToken(jwtToken);
185
- if (user) {
186
- req.user = user;
220
+ const claims = authService.verifyTokenWithClaims(jwtToken);
221
+ if (claims && !claims.oauth) {
222
+ req.user = claims.user;
187
223
  return;
188
224
  }
189
225
  }
@@ -193,9 +229,39 @@ function createAuthHook(authService) {
193
229
  const authHeader = req.headers['authorization'];
194
230
  const bearer = authHeader?.startsWith('Bearer ') ? authHeader.slice(7) : undefined;
195
231
  if (bearer) {
196
- const jwtUser = authService.verifyToken(bearer);
197
- if (jwtUser) {
198
- req.user = jwtUser;
232
+ const claims = authService.verifyTokenWithClaims(bearer);
233
+ if (claims) {
234
+ if (claims.oauth) {
235
+ // OAuth access tokens are confined to the MCP surface. Reject them on
236
+ // the rest of the REST API so a leaked connector token can't drive the
237
+ // whole product (least privilege — sg_ tokens stay full).
238
+ const path = req.url.split('?')[0];
239
+ const mcpScoped = path === '/mcp' || path.startsWith('/mcp/') || path.startsWith('/oauth/');
240
+ if (!mcpScoped) {
241
+ return reply.status(403).send({ error: 'insufficient_scope' });
242
+ }
243
+ // Enforce the token audience: it must be bound to THIS server's /mcp
244
+ // resource. Without this, any JWT signed with the workspace secret +
245
+ // `oauth:true` would be accepted regardless of the `aud` it was minted
246
+ // for (stale/wrong-resource/host-spoofed tokens).
247
+ let expectedAud = null;
248
+ try {
249
+ expectedAud = `${resolveCanonicalBaseUrl(workspaceConfig, req)}/mcp`;
250
+ }
251
+ catch {
252
+ expectedAud = null;
253
+ }
254
+ if (!expectedAud || claims.aud !== expectedAud) {
255
+ return reply.status(403).send({ error: 'insufficient_scope', error_description: 'token audience mismatch' });
256
+ }
257
+ // Label the integration for agent-activity attribution (parity with
258
+ // the api-token name path below). cid is the stable client_id.
259
+ if (claims.cid) {
260
+ const client = authService.oauthServer.getClient(claims.cid);
261
+ req.apiTokenName = client?.client_name ?? 'OAuth client';
262
+ }
263
+ }
264
+ req.user = claims.user;
199
265
  return;
200
266
  }
201
267
  const tokenMeta = authService.verifyApiTokenWithMeta(bearer);
@@ -222,6 +288,18 @@ function createAuthHook(authService) {
222
288
  }
223
289
  catch { /* fall through to 401 */ }
224
290
  }
291
+ // MCP OAuth discovery: an unauthenticated /mcp request gets a
292
+ // WWW-Authenticate header pointing at the protected-resource metadata, so
293
+ // an MCP client (Claude Chat/Cowork) knows to begin the OAuth flow.
294
+ if (req.url.startsWith('/mcp')) {
295
+ // Best-effort: if no canonical issuer is pinned (fails closed in prod),
296
+ // skip the discovery hint rather than 500 the 401.
297
+ try {
298
+ const base = resolveCanonicalBaseUrl(workspaceConfig, req);
299
+ reply.header('WWW-Authenticate', `Bearer resource_metadata="${base}/.well-known/oauth-protected-resource"`);
300
+ }
301
+ catch { /* issuer unconfigured — omit discovery header */ }
302
+ }
225
303
  return reply.status(401).send({ error: 'Unauthorized' });
226
304
  };
227
305
  }
@@ -371,6 +449,21 @@ export async function createServer(config) {
371
449
  done(err, undefined);
372
450
  }
373
451
  });
452
+ // application/x-www-form-urlencoded — the OAuth token + consent POSTs use
453
+ // form encoding (RFC 6749). Parsed inline to avoid pulling in a dependency
454
+ // just for two endpoints; mirrors the hand-rolled JSON parser above.
455
+ fastify.addContentTypeParser('application/x-www-form-urlencoded', { parseAs: 'string' }, (_req, body, done) => {
456
+ try {
457
+ const params = new URLSearchParams(body);
458
+ const obj = {};
459
+ for (const [k, v] of params)
460
+ obj[k] = v;
461
+ done(null, obj);
462
+ }
463
+ catch (err) {
464
+ done(err, undefined);
465
+ }
466
+ });
374
467
  // Git Smart HTTP binary content types — pass raw stream through (no parsing)
375
468
  for (const gitType of [
376
469
  'application/x-git-upload-pack-request',
@@ -466,7 +559,7 @@ export async function createServer(config) {
466
559
  // Register auth API routes (before the auth hook so they are always accessible)
467
560
  await registerAuthApiRoutes(fastify, authService, config.workspacePath, config.workspaceManager, config.workspaceConfig.team_name);
468
561
  // Auth hook — applied to all routes
469
- const authHook = createAuthHook(authService);
562
+ const authHook = createAuthHook(authService, config.workspaceConfig);
470
563
  fastify.addHook('preHandler', authHook);
471
564
  // Register WebSocket route (real-time change notifications + cursor broadcasting)
472
565
  await registerWsRoute(fastify, wsHub, authService, config.workspaceManager, yjsManager);
@@ -494,6 +587,8 @@ export async function createServer(config) {
494
587
  // Messages API routes registered after agent init (below) so @agent invocation works
495
588
  // Register connectors API routes (MCP connector management + OAuth)
496
589
  await registerConnectorsApiRoutes(fastify, authService, config.workspacePath);
590
+ // Register OAuth 2.0 authorization-server routes (Claude Chat/Cowork connect)
591
+ await registerOAuthApiRoutes(fastify, authService, config.workspaceConfig);
497
592
  // Register asset upload routes (image upload to R2/local)
498
593
  await registerAssetApiRoutes(fastify, config.workspaceManager, authService);
499
594
  // Register R2 management routes (bucket creation, local-asset sync, status)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { Workspace } from '../../core/workspace.js';
9
9
  import { ensurePersonalFolder, archivePersonalFolder } from '../../services/personal-folder.js';
10
10
  import { authUserToGitUser, ensurePersonForUser, findPersonRefForUser } from '../../services/user-person-bridge.js';
11
11
  import * as access from '../../services/access-control.js';
12
+ import { safeReturnTo } from './oauth-api.js';
12
13
  // ── Login rate limiting ──
13
14
  const MAX_ATTEMPTS = 5;
14
15
  const LOCKOUT_MS = 15 * 60 * 1000; // 15 minutes
@@ -232,11 +233,17 @@ export async function registerAuthApiRoutes(fastify, authService, workspacePath,
232
233
  reply.setCookie('__sg_token', authService.createSessionToken(user), {
233
234
  path: '/',
234
235
  httpOnly: true,
235
- sameSite: 'strict',
236
+ sameSite: 'lax',
236
237
  secure,
237
238
  maxAge: 7 * 24 * 60 * 60,
238
239
  });
239
- return reply.redirect('/');
240
+ // Honor a returnTo echoed back through the cloud round-trip (used by the
241
+ // OAuth authorize → /login bounce so consent resumes after cloud auth).
242
+ // safeReturnTo enforces same-origin: root-relative path only, rejecting
243
+ // absolute/protocol-relative URLs, backslash-normalized off-origin, and
244
+ // control chars.
245
+ const returnTo = safeReturnTo(req.query.returnTo);
246
+ return reply.redirect(returnTo);
240
247
  }
241
248
  catch (err) {
242
249
  return reply.status(401).send({ error: err?.message || 'Invalid login token' });
@@ -558,7 +565,11 @@ export async function registerAuthApiRoutes(fastify, authService, workspacePath,
558
565
  reply.setCookie('__sg_token', result.token, {
559
566
  path: '/',
560
567
  httpOnly: true,
561
- sameSite: 'strict',
568
+ // Lax (not Strict): sent on top-level GET navigations initiated cross-site
569
+ // — e.g. the OAuth /oauth/authorize redirect from Claude's connector — so an
570
+ // already-logged-in user isn't bounced to a redundant login. Still withheld
571
+ // on cross-site POSTs/subresources (the CSRF-dangerous cases).
572
+ sameSite: 'lax',
562
573
  secure,
563
574
  maxAge: 7 * 24 * 60 * 60, // 7 days
564
575
  });
@@ -577,7 +588,7 @@ export async function registerAuthApiRoutes(fastify, authService, workspacePath,
577
588
  reply.setCookie('__sg_token', '', {
578
589
  path: '/',
579
590
  httpOnly: true,
580
- sameSite: 'strict',
591
+ sameSite: 'lax',
581
592
  maxAge: 0,
582
593
  });
583
594
  return reply.send({
@@ -693,7 +704,7 @@ export async function registerAuthApiRoutes(fastify, authService, workspacePath,
693
704
  reply.setCookie('__sg_token', result.token, {
694
705
  path: '/',
695
706
  httpOnly: true,
696
- sameSite: 'strict',
707
+ sameSite: 'lax',
697
708
  secure,
698
709
  maxAge: 7 * 24 * 60 * 60,
699
710
  });