@cat-factory/server 0.223.0 → 0.225.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/oidc/OidcClient.d.ts +86 -0
- package/dist/auth/oidc/OidcClient.d.ts.map +1 -0
- package/dist/auth/oidc/OidcClient.js +271 -0
- package/dist/auth/oidc/OidcClient.js.map +1 -0
- package/dist/auth/oidc/claims.d.ts +97 -0
- package/dist/auth/oidc/claims.d.ts.map +1 -0
- package/dist/auth/oidc/claims.js +149 -0
- package/dist/auth/oidc/claims.js.map +1 -0
- package/dist/auth/oidc/discovery.d.ts +51 -0
- package/dist/auth/oidc/discovery.d.ts.map +1 -0
- package/dist/auth/oidc/discovery.js +165 -0
- package/dist/auth/oidc/discovery.js.map +1 -0
- package/dist/auth/signing.d.ts +9 -0
- package/dist/auth/signing.d.ts.map +1 -1
- package/dist/auth/signing.js +9 -0
- package/dist/auth/signing.js.map +1 -1
- package/dist/config/misconfiguredApp.d.ts.map +1 -1
- package/dist/config/misconfiguredApp.js +14 -1
- package/dist/config/misconfiguredApp.js.map +1 -1
- package/dist/config/problems.js +1 -1
- package/dist/config/problems.js.map +1 -1
- package/dist/config/sso.d.ts +39 -0
- package/dist/config/sso.d.ts.map +1 -0
- package/dist/config/sso.js +169 -0
- package/dist/config/sso.js.map +1 -0
- package/dist/config/types.d.ts +41 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/http/env.d.ts +11 -1
- package/dist/http/env.d.ts.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/auth/AuthController.d.ts +0 -18
- package/dist/modules/auth/AuthController.d.ts.map +1 -1
- package/dist/modules/auth/AuthController.js +39 -158
- package/dist/modules/auth/AuthController.js.map +1 -1
- package/dist/modules/auth/loginFlow.d.ts +56 -0
- package/dist/modules/auth/loginFlow.d.ts.map +1 -0
- package/dist/modules/auth/loginFlow.js +162 -0
- package/dist/modules/auth/loginFlow.js.map +1 -0
- package/dist/modules/auth/ssoRoutes.d.ts +4 -0
- package/dist/modules/auth/ssoRoutes.d.ts.map +1 -0
- package/dist/modules/auth/ssoRoutes.js +294 -0
- package/dist/modules/auth/ssoRoutes.js.map +1 -0
- package/dist/modules/localSettings/MothershipConnectController.js +1 -1
- package/dist/modules/localSettings/MothershipConnectController.js.map +1 -1
- package/package.json +9 -8
package/dist/config/types.d.ts
CHANGED
|
@@ -67,8 +67,46 @@ export interface GoogleOAuthConfig {
|
|
|
67
67
|
/** Userinfo API base; defaults to Google's. */
|
|
68
68
|
apiBase?: string;
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* The deployment's OWN identity provider (enterprise SSO), present only when configured.
|
|
72
|
+
*
|
|
73
|
+
* One generic OpenID Connect adapter serves every enterprise IdP — Okta, Entra ID, Auth0,
|
|
74
|
+
* Keycloak, PingFederate, OneLogin, JumpCloud, a Shibboleth IdP with the OIDC OP plugin —
|
|
75
|
+
* because a discovery document plus a client id/secret IS the configuration. There is
|
|
76
|
+
* deliberately no per-vendor field here: a vendor name would only ever be a label.
|
|
77
|
+
*
|
|
78
|
+
* Built by {@link resolveSsoConfig}, which both facades call, so the parsing and every boot
|
|
79
|
+
* refusal live in ONE place rather than being restated per runtime.
|
|
80
|
+
*/
|
|
81
|
+
export interface SsoConfig {
|
|
82
|
+
/**
|
|
83
|
+
* The issuer / discovery base URL as the operator typed it (`AUTH_SSO_ISSUER_URL`). The
|
|
84
|
+
* DISCOVERED `issuer` is authoritative for everything downstream (the identity subject, the
|
|
85
|
+
* `iss` check); this value only locates the document and keys its cache entry.
|
|
86
|
+
*/
|
|
87
|
+
issuerUrl: string;
|
|
88
|
+
clientId: string;
|
|
89
|
+
clientSecret: string;
|
|
90
|
+
/** Operator-supplied sign-in button label. Never localized: it names their IdP. */
|
|
91
|
+
label: string;
|
|
92
|
+
/** Space-separated scopes requested. Always contains `openid`. */
|
|
93
|
+
scopes: string;
|
|
94
|
+
/** Explicit redirect_uri; '' means derive `${origin}/auth/sso/callback`. */
|
|
95
|
+
redirectUrl: string;
|
|
96
|
+
/**
|
|
97
|
+
* Lowercased email domains admitted. EMPTY is the normal, correct state and means the IdP's
|
|
98
|
+
* own app assignment is the whole allowlist — which is the point of SSO, and why this is not
|
|
99
|
+
* fail-closed the way the GitHub login/org lists are: refusing everyone until an operator
|
|
100
|
+
* restates their directory here would defeat the feature they adopted SSO to get.
|
|
101
|
+
*/
|
|
102
|
+
allowedEmailDomains: string[];
|
|
103
|
+
/** The claim holding group memberships (`groups` by default; Entra/Shibboleth vary). */
|
|
104
|
+
groupsClaim: string;
|
|
105
|
+
/** Lowercased group values admitted. Empty ⇒ no group gate. */
|
|
106
|
+
requiredGroups: string[];
|
|
107
|
+
}
|
|
70
108
|
export interface AuthConfig {
|
|
71
|
-
/** True when ANY login provider (GitHub OAuth / password / Google) is configured. */
|
|
109
|
+
/** True when ANY login provider (GitHub OAuth / password / Google / SSO) is configured. */
|
|
72
110
|
enabled: boolean;
|
|
73
111
|
/** Local-dev/test ONLY: permit running with auth unconfigured (open API). */
|
|
74
112
|
devOpen: boolean;
|
|
@@ -118,6 +156,8 @@ export interface AuthConfig {
|
|
|
118
156
|
openSignup: boolean;
|
|
119
157
|
/** Google OAuth config, present only when configured. */
|
|
120
158
|
google?: GoogleOAuthConfig;
|
|
159
|
+
/** Enterprise SSO (generic OIDC) config, present only when configured. */
|
|
160
|
+
sso?: SsoConfig;
|
|
121
161
|
/**
|
|
122
162
|
* Lowercased email domains permitted to self-signup (password/Google) without an
|
|
123
163
|
* invite. Empty ⇒ new-user creation is invite-only (the default, fail-closed).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EACf,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAOtD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,YAAY,CAAA;IACrB;;;;;;OAMG;IACH,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,kBAAkB,CAAC,EAAE,SAAS,WAAW,EAAE,KACxC,QAAQ,GAAG,SAAS,CAAA;IACzB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAA;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,eAAe,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,eAAe,EAAE,MAAM,CAAA;IACvB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,sFAAsF;IACtF,uBAAuB,EAAE,MAAM,CAAA;IAC/B,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAA;IACxB,2FAA2F;IAC3F,aAAa,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,aAAa,CAAC,EAAE,mBAAmB,CAAA;CACpC;AAED,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/http/env.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Context } from 'hono';
|
|
2
|
-
import type { AgentRunRepository, AuthAttemptRepository, ExecutionRepository, MachineNodeRepository, NotificationChannel, PlatformAlertSink, ResolveBinaryArtifactStore, ConsensusSessionRepository, ResolveRunRepoContext, Logger, SealedSecretInventory, ToolSecretResolver, UserRepoAccessRepository, VcsIdentityRegistry, VcsProviderRegistry, VcsWebhookSink, WorkspacePermission, WorkspaceRole } from '@cat-factory/kernel';
|
|
2
|
+
import type { AgentRunRepository, AuthAttemptRepository, ExecutionRepository, MachineNodeRepository, NotificationChannel, PlatformAlertSink, ResolveBinaryArtifactStore, ConsensusSessionRepository, ResolveRunRepoContext, LocalVcsSetup, Logger, SealedSecretInventory, ToolSecretResolver, UserRepoAccessRepository, VcsIdentityRegistry, VcsProviderRegistry, VcsWebhookSink, WorkspacePermission, WorkspaceRole } from '@cat-factory/kernel';
|
|
3
3
|
import type { ApiKeyService, EnvironmentBackendRegistry, LocalModelEndpointService, LocalSettingsService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService, NotificationWebhookService, PublicApiKeyService, RunnerBackendRegistry, TestSecretsService, CapabilityCredentialsService, McpOAuthService, ValidationConfigService, UserSecretService } from '@cat-factory/integrations';
|
|
4
4
|
import type { Core } from '@cat-factory/orchestration';
|
|
5
5
|
import type { AgentKindRegistry } from '@cat-factory/agents';
|
|
@@ -323,6 +323,16 @@ export interface ServerContainer extends Core {
|
|
|
323
323
|
* `VcsIdentityRegistry`.
|
|
324
324
|
*/
|
|
325
325
|
vcsIdentity?: VcsIdentityRegistry;
|
|
326
|
+
/**
|
|
327
|
+
* First-run installation of the deployment's OWN source-control credential (kernel's
|
|
328
|
+
* `LocalVcsSetup`). Present only on the local-mode facade, where one token is both the sign-in
|
|
329
|
+
* identity and the credential every agent step clones/pushes/merges with: `/auth/pat` adopts a
|
|
330
|
+
* pasted token as that credential so a developer who has just created one is not sent back to
|
|
331
|
+
* `.env` and a restart. Absent on hosted facades (their credential is a GitHub App or a
|
|
332
|
+
* per-workspace connection, neither of which a signed-out caller may set), and the pasted token
|
|
333
|
+
* there is only ever an identity.
|
|
334
|
+
*/
|
|
335
|
+
localVcsSetup?: LocalVcsSetup;
|
|
326
336
|
/**
|
|
327
337
|
* The reflective repository registry the mothership-mode machine API
|
|
328
338
|
* (`POST /internal/persistence`) dispatches over: repo name → repo instance. Attached by a
|
package/dist/http/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/http/env.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/http/env.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,13 +18,15 @@ export { GitHubOAuth, type GitHubOAuthDependencies, type GitHubIdentity, } from
|
|
|
18
18
|
export { GoogleOAuth, type GoogleOAuthDependencies, type GoogleIdentity, } from './auth/GoogleOAuth.js';
|
|
19
19
|
export { LinearOAuth, type LinearOAuthDependencies } from './auth/LinearOAuth.js';
|
|
20
20
|
export { WebCryptoPasswordHasher } from './crypto/WebCryptoPasswordHasher.js';
|
|
21
|
-
export { authController
|
|
21
|
+
export { authController } from './modules/auth/AuthController.js';
|
|
22
|
+
export { mintSession, pickPostLoginRedirect } from './modules/auth/loginFlow.js';
|
|
22
23
|
export { llmProxyController } from './modules/llmProxy/LlmProxyController.js';
|
|
23
24
|
export { ContainerSessionService, DEFAULT_SESSION_TTL_MS, type ContainerSession, type MintInput, } from './containers/ContainerSessionService.js';
|
|
24
25
|
export { CompositeAgentExecutor } from './agents/CompositeAgentExecutor.js';
|
|
25
26
|
export { ContainerAgentExecutor, type ContainerAgentExecutorDependencies, type RepoTarget, type ResolveRepoTarget, type RepoOrigin, type ResolveRepoOrigin, type MintInstallationToken, type EnsureWorkBranch, type JobPackageRegistrySpec, jobTokenRepoIds, } from './agents/ContainerAgentExecutor.js';
|
|
26
27
|
export { buildDispatchTokenMint, type DispatchTokenMintDependencies, } from './agents/dispatchTokenMint.js';
|
|
27
28
|
export { ensureWorkBranchViaRest, type EnsureWorkBranchInput } from './github/ensureWorkBranch.js';
|
|
29
|
+
export { githubRepoOrigin } from './agents/containerAgentBody.js';
|
|
28
30
|
export { RunnerJobClient, type ResolveRunnerTransport } from './agents/RunnerJobClient.js';
|
|
29
31
|
export { type EnvToolSecretResolverOptions, type McpServerJobSpec, type ResolvedToolServers, createEnvToolSecretResolver, resolveToolServers, } from './agents/toolServers.js';
|
|
30
32
|
export { buildToolSecretChain, createWorkspaceToolSecretResolver, composeToolSecretResolvers, toolSecretContainerFields, type ToolSecretChain, type ToolSecretChainInput, type ToolSecretContainerFields, type WorkspaceToolSecretResolverOptions, } from './agents/capabilityCredentialResolver.js';
|
|
@@ -86,7 +88,11 @@ export { GitHubPrReportPublisher, type GitHubPrReportPublisherDependencies, } fr
|
|
|
86
88
|
export { HmacSigner, TOKEN_AUDIENCE, type MachinePayload, type SessionPayload, type SessionUser, type TokenAudience, } from './auth/signing.js';
|
|
87
89
|
export { DEFAULT_MACHINE_TOKEN_TTL_MS, mintMachineToken, resolveMachineTokenTtlMs, } from './auth/machineToken.js';
|
|
88
90
|
export { WS_TICKET_TTL_MS, authorizeWsUpgrade, mintWsTicket, type WsTicket, type WsUpgradeAuth, } from './auth/wsTicket.js';
|
|
89
|
-
export type { AgentsConfig, AppConfig, AuthConfig, ReleaseHealthConfig, DocumentsConfig, EmailConfig, EnvironmentsConfig, ExecutionConfig, FragmentLibraryConfig, GitHubConfig, GitLabConfig, GoogleOAuthConfig, LangfuseConfig, ObservabilityConfig, NotificationWebhookConfig, OtelConfig, OtelLogsConfig, InfraReachabilityConfig, PlatformAlertConfig, PrivilegedAppConfig, RetentionConfig, RunnerPoolConfig, SlackConfig, TasksConfig, } from './config/types.js';
|
|
91
|
+
export type { AgentsConfig, AppConfig, AuthConfig, ReleaseHealthConfig, DocumentsConfig, EmailConfig, EnvironmentsConfig, ExecutionConfig, FragmentLibraryConfig, GitHubConfig, GitLabConfig, GoogleOAuthConfig, LangfuseConfig, ObservabilityConfig, NotificationWebhookConfig, OtelConfig, OtelLogsConfig, InfraReachabilityConfig, PlatformAlertConfig, PrivilegedAppConfig, RetentionConfig, RunnerPoolConfig, SlackConfig, SsoConfig, TasksConfig, } from './config/types.js';
|
|
92
|
+
export { resolveSsoConfig, type SsoEnv } from './config/sso.js';
|
|
93
|
+
export { OidcProviderDirectory, readProviderMetadata } from './auth/oidc/discovery.js';
|
|
94
|
+
export { OidcClient, OidcFlowError, createPkcePair, type PkcePair } from './auth/oidc/OidcClient.js';
|
|
95
|
+
export { judgeSsoAdmission, needsUserinfo, readGroupClaim, readSsoIdentity, type SsoAdmission, type SsoIdentity, } from './auth/oidc/claims.js';
|
|
90
96
|
export { parsePlatformObservabilityWindow, resolvePlatformAlertConfig, type PlatformAlertEnvInput, } from './config/platformAlerts.js';
|
|
91
97
|
export { resolveInfraReachabilityConfig, shouldRunReachabilityPass, type InfraReachabilityEnvInput, } from './config/infraReachability.js';
|
|
92
98
|
export { resolveUrlSafetyPolicy } from './config/url-safety.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,MAAM,GACZ,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,KAAK,MAAM,EACX,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,4DAA4D,CAAA;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EACL,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,10 @@ export { GitHubOAuth, } from './auth/GitHubOAuth.js';
|
|
|
24
24
|
export { GoogleOAuth, } from './auth/GoogleOAuth.js';
|
|
25
25
|
export { LinearOAuth } from './auth/LinearOAuth.js';
|
|
26
26
|
export { WebCryptoPasswordHasher } from './crypto/WebCryptoPasswordHasher.js';
|
|
27
|
-
export { authController
|
|
27
|
+
export { authController } from './modules/auth/AuthController.js';
|
|
28
|
+
// The shared browser-login mechanics (the allow-listed post-login redirect, the session mint),
|
|
29
|
+
// used by every redirecting provider and by the local mothership-connect controller.
|
|
30
|
+
export { mintSession, pickPostLoginRedirect } from './modules/auth/loginFlow.js';
|
|
28
31
|
export { llmProxyController } from './modules/llmProxy/LlmProxyController.js';
|
|
29
32
|
export { ContainerSessionService, DEFAULT_SESSION_TTL_MS, } from './containers/ContainerSessionService.js';
|
|
30
33
|
// Runtime-neutral container-agent execution machinery, shared by both facades: the
|
|
@@ -35,6 +38,10 @@ export { ContainerAgentExecutor, jobTokenRepoIds, } from './agents/ContainerAgen
|
|
|
35
38
|
// The one place a facade decides WHOSE token a dispatch carries and HOW WIDE it is minted.
|
|
36
39
|
export { buildDispatchTokenMint, } from './agents/dispatchTokenMint.js';
|
|
37
40
|
export { ensureWorkBranchViaRest } from './github/ensureWorkBranch.js';
|
|
41
|
+
// The clone origin a dispatch falls back to when a facade wires no `resolveRepoOrigin`. Exported
|
|
42
|
+
// so a facade whose OWN resolver handles only the non-GitHub case can delegate the GitHub half
|
|
43
|
+
// here instead of restating the URL, which would drift the moment this default learns anything.
|
|
44
|
+
export { githubRepoOrigin } from './agents/containerAgentBody.js';
|
|
38
45
|
export { RunnerJobClient } from './agents/RunnerJobClient.js';
|
|
39
46
|
// Tool servers (MCP) for a container dispatch: the resolution the executor runs, plus the
|
|
40
47
|
// deployment-environment credential resolver every facade wires as the FALLBACK behind the
|
|
@@ -134,6 +141,12 @@ export { GitHubPrReportPublisher, } from './github/GitHubPrReportPublisher.js';
|
|
|
134
141
|
export { HmacSigner, TOKEN_AUDIENCE, } from './auth/signing.js';
|
|
135
142
|
export { DEFAULT_MACHINE_TOKEN_TTL_MS, mintMachineToken, resolveMachineTokenTtlMs, } from './auth/machineToken.js';
|
|
136
143
|
export { WS_TICKET_TTL_MS, authorizeWsUpgrade, mintWsTicket, } from './auth/wsTicket.js';
|
|
144
|
+
// Enterprise SSO (generic OIDC): the shared env resolver both facades call, and the pieces a
|
|
145
|
+
// facade or a test needs to reach the flow without going through the HTTP routes.
|
|
146
|
+
export { resolveSsoConfig } from './config/sso.js';
|
|
147
|
+
export { OidcProviderDirectory, readProviderMetadata } from './auth/oidc/discovery.js';
|
|
148
|
+
export { OidcClient, OidcFlowError, createPkcePair } from './auth/oidc/OidcClient.js';
|
|
149
|
+
export { judgeSsoAdmission, needsUserinfo, readGroupClaim, readSsoIdentity, } from './auth/oidc/claims.js';
|
|
137
150
|
export { parsePlatformObservabilityWindow, resolvePlatformAlertConfig, } from './config/platformAlerts.js';
|
|
138
151
|
export { resolveInfraReachabilityConfig, shouldRunReachabilityPass, } from './config/infraReachability.js';
|
|
139
152
|
export { resolveUrlSafetyPolicy } from './config/url-safety.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,gFAAgF;AAChF,8EAA8E;AAC9E,qEAAqE;AACrE,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,GAKX,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EACL,wBAAwB,EACxB,WAAW,GAGZ,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAKN,MAAM,eAAe,CAAA;AACtB,OAAO,EAaN,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,gGAAgG;AAChG,wEAAwE;AACxE,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,4DAA4D,CAAA;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GAEpB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAA;AAClE,OAAO,EACL,WAAW,GAGZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,WAAW,GAGZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAgC,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,4 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
|
-
import { type SessionUser } from '../../auth/signing.js';
|
|
3
|
-
import type { AuthConfig } from '../../config/types.js';
|
|
4
2
|
import type { AppEnv } from '../../http/env.js';
|
|
5
|
-
/**
|
|
6
|
-
* Choose the post-login landing URL from the (untrusted) `redirect` query. The
|
|
7
|
-
* session token is appended as a fragment, so an unrestricted redirect is a
|
|
8
|
-
* token-exfiltration primitive — only same-origin, an explicitly allowlisted origin, or a
|
|
9
|
-
* loopback host (the caller's own machine) is honoured, else the request origin.
|
|
10
|
-
*/
|
|
11
|
-
export declare function pickPostLoginRedirect(requested: string | undefined, requestOrigin: string, cfg: Pick<AuthConfig, 'successRedirectUrl' | 'allowedRedirectOrigins'>): string;
|
|
12
|
-
/**
|
|
13
|
-
* Mint a user SESSION token, returning the signed token and the exact `exp` it committed to so a
|
|
14
|
-
* caller can report the real expiry without a second clock read. Shared by every login path AND
|
|
15
|
-
* the local-mode mothership-connect controller, so the session claim shape lives in one place.
|
|
16
|
-
*/
|
|
17
|
-
export declare function mintSession(cfg: AuthConfig, user: SessionUser): Promise<{
|
|
18
|
-
token: string;
|
|
19
|
-
exp: number;
|
|
20
|
-
}>;
|
|
21
3
|
export declare function authController(): Hono<AppEnv>;
|
|
22
4
|
//# sourceMappingURL=AuthController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/AuthController.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,OAAO,
|
|
1
|
+
{"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/AuthController.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AA2I/C,wBAAgB,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,CAgB7C"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { acceptInvitationContract, authConfigContract, forgotPasswordContract, githubCallbackContract, githubLoginContract, googleCallbackContract, googleLoginContract, listMachineNodesContract, logoutContract, meContract, mintMachineTokenContract, passwordLoginContract, revokeMachineNodeContract, patLoginContract, peekInvitationContract, resetPasswordContract, signupContract, } from '@cat-factory/contracts';
|
|
2
2
|
import { buildHonoRoute } from '@toad-contracts/hono';
|
|
3
3
|
import { Hono } from 'hono';
|
|
4
|
-
import { deleteCookie, getCookie, setCookie } from 'hono/cookie';
|
|
5
4
|
import { GitHubOAuth } from '../../auth/GitHubOAuth.js';
|
|
6
5
|
import { GoogleOAuth } from '../../auth/GoogleOAuth.js';
|
|
7
6
|
import { verifySession } from '../../auth/middleware.js';
|
|
8
7
|
import { mintMachineToken } from '../../auth/machineToken.js';
|
|
9
8
|
import { passwordAttemptLimited, tooManyAttempts } from './authThrottle.js';
|
|
10
|
-
import { HmacSigner, TOKEN_AUDIENCE, } from '../../auth/signing.js';
|
|
11
9
|
import { ConflictError, ForbiddenError, NotFoundError, ValidationError, UnavailableError, UnauthorizedError, } from '@cat-factory/kernel';
|
|
12
10
|
import { requireCapability } from '../../http/guards.js';
|
|
11
|
+
// The mechanics every redirecting login provider shares — the cookie-bound CSRF state, the
|
|
12
|
+
// allow-listed post-login redirect, the session mint, the invite handling. Extracted when
|
|
13
|
+
// enterprise SSO landed so there is exactly ONE implementation of each (see loginFlow.ts).
|
|
14
|
+
import { acceptInvite, authConfig, beginRoundTrip, consumeState, emailDomainAllowed, emailMatchesInvite, mintSession, peekInvite, sessionUser, withToken, } from './loginFlow.js';
|
|
15
|
+
import { registerSsoRoutes } from './ssoRoutes.js';
|
|
13
16
|
// Authentication endpoints. The SPA is handed a signed session token (via the URL
|
|
14
17
|
// fragment for OAuth redirects, or the JSON body for password login) which it carries
|
|
15
|
-
// as `Authorization: Bearer` on subsequent calls.
|
|
18
|
+
// as `Authorization: Bearer` on subsequent calls. Four login providers compose here:
|
|
16
19
|
// - GitHub OAuth (browser round-trip)
|
|
17
20
|
// - Google OAuth (browser round-trip)
|
|
21
|
+
// - enterprise SSO / generic OIDC (browser round-trip, in `ssoRoutes.ts`)
|
|
18
22
|
// - email/password (direct JSON)
|
|
19
23
|
// All resolve to ONE canonical `users` row via the UserService, so the session id is
|
|
20
24
|
// always the internal `usr_*` id regardless of how the user signed in.
|
|
21
|
-
const OAUTH_STATE_TTL_MS = 10 * 60 * 1000;
|
|
22
|
-
/** Browser-binding cookie for an OAuth round-trip (see the GitHub flow notes below). */
|
|
23
|
-
const OAUTH_STATE_COOKIE = 'cf_oauth_state';
|
|
24
25
|
// The one controller that keeps a local thrower rather than `requireCapability`: what it
|
|
25
26
|
// guards is a boolean FLAG (`cfg.githubEnabled` / `cfg.passwordEnabled`), not an absent
|
|
26
27
|
// value, so there is nothing for the accessor to narrow and return.
|
|
@@ -34,9 +35,6 @@ function requireGoogle(cfg) {
|
|
|
34
35
|
const unavailable = () => {
|
|
35
36
|
throw new UnavailableError('Authentication is not configured');
|
|
36
37
|
};
|
|
37
|
-
function authConfig(c) {
|
|
38
|
-
return c.get('container').config.auth;
|
|
39
|
-
}
|
|
40
38
|
function githubClient(cfg) {
|
|
41
39
|
return new GitHubOAuth({
|
|
42
40
|
clientId: cfg.clientId,
|
|
@@ -65,81 +63,6 @@ function googleCallbackUrl(c, cfg) {
|
|
|
65
63
|
return cfg.google.redirectUrl;
|
|
66
64
|
return `${new URL(c.req.url).origin}/auth/google/callback`;
|
|
67
65
|
}
|
|
68
|
-
/**
|
|
69
|
-
* A loopback host (the user's OWN machine): `localhost`, the `127.0.0.0/8` block, or IPv6 `::1`.
|
|
70
|
-
* A redirect to one of these is not an exfiltration vector — capturing the fragment there means
|
|
71
|
-
* already running a server on the victim's own machine. This is what lets a mothership honour the
|
|
72
|
-
* post-login redirect back to a mothership-mode LOCAL node (`http://localhost:PORT`), which is
|
|
73
|
-
* neither same-origin nor pre-allowlisted, without an operator hand-listing every dev port.
|
|
74
|
-
*/
|
|
75
|
-
function isLoopbackRedirect(url) {
|
|
76
|
-
const host = url.hostname.toLowerCase().replace(/^\[|\]$/g, '');
|
|
77
|
-
return host === 'localhost' || host === '::1' || /^127\.\d+\.\d+\.\d+$/.test(host);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Choose the post-login landing URL from the (untrusted) `redirect` query. The
|
|
81
|
-
* session token is appended as a fragment, so an unrestricted redirect is a
|
|
82
|
-
* token-exfiltration primitive — only same-origin, an explicitly allowlisted origin, or a
|
|
83
|
-
* loopback host (the caller's own machine) is honoured, else the request origin.
|
|
84
|
-
*/
|
|
85
|
-
export function pickPostLoginRedirect(requested, requestOrigin, cfg) {
|
|
86
|
-
if (cfg.successRedirectUrl)
|
|
87
|
-
return cfg.successRedirectUrl;
|
|
88
|
-
const fallback = `${requestOrigin}/`;
|
|
89
|
-
if (!requested)
|
|
90
|
-
return fallback;
|
|
91
|
-
try {
|
|
92
|
-
const url = new URL(requested);
|
|
93
|
-
if (url.protocol !== 'http:' && url.protocol !== 'https:')
|
|
94
|
-
return fallback;
|
|
95
|
-
if (url.origin === requestOrigin ||
|
|
96
|
-
cfg.allowedRedirectOrigins.includes(url.origin) ||
|
|
97
|
-
isLoopbackRedirect(url)) {
|
|
98
|
-
return requested;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
// fall through to the safe origin-relative default
|
|
103
|
-
}
|
|
104
|
-
return fallback;
|
|
105
|
-
}
|
|
106
|
-
function resolveRedirect(c, cfg) {
|
|
107
|
-
return pickPostLoginRedirect(c.req.query('redirect'), new URL(c.req.url).origin, cfg);
|
|
108
|
-
}
|
|
109
|
-
/** Append the session token as a URL fragment on the landing URL. */
|
|
110
|
-
function withToken(redirect, token) {
|
|
111
|
-
const url = new URL(redirect);
|
|
112
|
-
url.hash = `token=${token}`;
|
|
113
|
-
return url.toString();
|
|
114
|
-
}
|
|
115
|
-
/** Build the SessionUser surface from a canonical user + chosen display login. */
|
|
116
|
-
function sessionUser(user, login) {
|
|
117
|
-
return {
|
|
118
|
-
id: user.id,
|
|
119
|
-
login,
|
|
120
|
-
name: user.name,
|
|
121
|
-
avatarUrl: user.avatarUrl,
|
|
122
|
-
email: user.email,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Mint a user SESSION token, returning the signed token and the exact `exp` it committed to so a
|
|
127
|
-
* caller can report the real expiry without a second clock read. Shared by every login path AND
|
|
128
|
-
* the local-mode mothership-connect controller, so the session claim shape lives in one place.
|
|
129
|
-
*/
|
|
130
|
-
export async function mintSession(cfg, user) {
|
|
131
|
-
const exp = Date.now() + cfg.sessionTtlMs;
|
|
132
|
-
const session = { ...user, aud: TOKEN_AUDIENCE.session, exp };
|
|
133
|
-
return { token: await new HmacSigner(cfg.sessionSecret).sign(session), exp };
|
|
134
|
-
}
|
|
135
|
-
/** Whether an email's domain is on the self-signup allowlist. */
|
|
136
|
-
function emailDomainAllowed(email, cfg) {
|
|
137
|
-
const at = email.lastIndexOf('@');
|
|
138
|
-
if (at < 0)
|
|
139
|
-
return false;
|
|
140
|
-
const domain = email.slice(at + 1).toLowerCase();
|
|
141
|
-
return cfg.allowedEmailDomains.includes(domain);
|
|
142
|
-
}
|
|
143
66
|
/**
|
|
144
67
|
* GitHub allowlist gate — the deployment is private. A user is admitted only if their
|
|
145
68
|
* login is in `allowedLogins` OR they belong to an org in `allowedOrgs`. Both lists
|
|
@@ -194,6 +117,11 @@ export function authController() {
|
|
|
194
117
|
// recovery, session) purely so no single function exceeds the size budget; each registers
|
|
195
118
|
// onto the shared `app` and depends only on the module-level helpers above.
|
|
196
119
|
registerOAuthRoutes(app);
|
|
120
|
+
// Enterprise SSO lives in its own registrar: its round-trip carries PKCE + OIDC nonce secrets
|
|
121
|
+
// that must stay out of the URL, so it owns a different state mechanism (a signed httpOnly
|
|
122
|
+
// cookie) than the two consumer-OAuth legs above, while sharing their signer and redirect
|
|
123
|
+
// allow-list through `loginFlow.ts`.
|
|
124
|
+
registerSsoRoutes(app);
|
|
197
125
|
registerCredentialRoutes(app);
|
|
198
126
|
registerMachineNodeRoutes(app);
|
|
199
127
|
registerAccountRecoveryRoutes(app);
|
|
@@ -220,7 +148,11 @@ function registerOAuthRoutes(app) {
|
|
|
220
148
|
github: cfg.githubEnabled,
|
|
221
149
|
password: cfg.passwordEnabled,
|
|
222
150
|
google: !!cfg.google,
|
|
151
|
+
sso: !!cfg.sso,
|
|
223
152
|
},
|
|
153
|
+
// The operator's own button wording travels beside the boolean, because it names THEIR
|
|
154
|
+
// identity provider and so is the one part of the login screen the SPA cannot localize.
|
|
155
|
+
...(cfg.sso ? { sso: { label: cfg.sso.label, protocol: 'oidc' } } : {}),
|
|
224
156
|
...(localMode ? { localMode } : {}),
|
|
225
157
|
...(patProviders.length > 0 ? { patLogin: { providers: patProviders } } : {}),
|
|
226
158
|
// Test-only: advertise that the deployment runs with no auth, so the SPA renders the
|
|
@@ -234,22 +166,7 @@ function registerOAuthRoutes(app) {
|
|
|
234
166
|
const cfg = authConfig(c);
|
|
235
167
|
if (!cfg.githubEnabled)
|
|
236
168
|
return unavailable();
|
|
237
|
-
const
|
|
238
|
-
const state = {
|
|
239
|
-
aud: TOKEN_AUDIENCE.oauthState,
|
|
240
|
-
nonce,
|
|
241
|
-
redirect: resolveRedirect(c, cfg),
|
|
242
|
-
...(c.req.query('invite') ? { invite: c.req.query('invite') } : {}),
|
|
243
|
-
exp: Date.now() + OAUTH_STATE_TTL_MS,
|
|
244
|
-
};
|
|
245
|
-
const signedState = await new HmacSigner(cfg.sessionSecret).sign(state);
|
|
246
|
-
setCookie(c, OAUTH_STATE_COOKIE, nonce, {
|
|
247
|
-
httpOnly: true,
|
|
248
|
-
secure: new URL(c.req.url).protocol === 'https:',
|
|
249
|
-
sameSite: 'Lax',
|
|
250
|
-
path: '/auth',
|
|
251
|
-
maxAge: OAUTH_STATE_TTL_MS / 1000,
|
|
252
|
-
});
|
|
169
|
+
const signedState = await beginRoundTrip(c, cfg);
|
|
253
170
|
const url = githubClient(cfg).authorizeUrl({
|
|
254
171
|
redirectUri: githubCallbackUrl(c, cfg),
|
|
255
172
|
state: signedState,
|
|
@@ -301,22 +218,7 @@ function registerOAuthRoutes(app) {
|
|
|
301
218
|
buildHonoRoute(app, googleLoginContract, async (c) => {
|
|
302
219
|
const cfg = authConfig(c);
|
|
303
220
|
const google = requireGoogle(cfg);
|
|
304
|
-
const
|
|
305
|
-
const state = {
|
|
306
|
-
aud: TOKEN_AUDIENCE.oauthState,
|
|
307
|
-
nonce,
|
|
308
|
-
redirect: resolveRedirect(c, cfg),
|
|
309
|
-
...(c.req.query('invite') ? { invite: c.req.query('invite') } : {}),
|
|
310
|
-
exp: Date.now() + OAUTH_STATE_TTL_MS,
|
|
311
|
-
};
|
|
312
|
-
const signedState = await new HmacSigner(cfg.sessionSecret).sign(state);
|
|
313
|
-
setCookie(c, OAUTH_STATE_COOKIE, nonce, {
|
|
314
|
-
httpOnly: true,
|
|
315
|
-
secure: new URL(c.req.url).protocol === 'https:',
|
|
316
|
-
sameSite: 'Lax',
|
|
317
|
-
path: '/auth',
|
|
318
|
-
maxAge: OAUTH_STATE_TTL_MS / 1000,
|
|
319
|
-
});
|
|
221
|
+
const signedState = await beginRoundTrip(c, cfg);
|
|
320
222
|
return c.redirect(google.authorizeUrl({ redirectUri: googleCallbackUrl(c, cfg), state: signedState }));
|
|
321
223
|
});
|
|
322
224
|
buildHonoRoute(app, googleCallbackContract, async (c) => {
|
|
@@ -434,15 +336,18 @@ function registerCredentialRoutes(app) {
|
|
|
434
336
|
if (!entry) {
|
|
435
337
|
throw new UnavailableError(`${provider} sign-in is not available`);
|
|
436
338
|
}
|
|
437
|
-
const pat = token ?? entry.configuredToken;
|
|
339
|
+
const pat = token ?? entry.configuredToken?.();
|
|
438
340
|
if (!pat) {
|
|
439
|
-
// Local mode
|
|
440
|
-
//
|
|
441
|
-
//
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
:
|
|
445
|
-
|
|
341
|
+
// Local mode can be handed a token right here (it becomes the deployment's own credential),
|
|
342
|
+
// so ask for one rather than for an env var the developer would have to restart to apply;
|
|
343
|
+
// a hosted (multi-user) deployment has no deployment token at all — each user pastes their
|
|
344
|
+
// OWN PAT, so the same instruction serves both.
|
|
345
|
+
return c.json({
|
|
346
|
+
error: {
|
|
347
|
+
code: 'validation',
|
|
348
|
+
message: `Paste your ${provider === 'gitlab' ? 'GitLab' : 'GitHub'} personal access token to sign in.`,
|
|
349
|
+
},
|
|
350
|
+
}, 400);
|
|
446
351
|
}
|
|
447
352
|
let identity;
|
|
448
353
|
try {
|
|
@@ -472,6 +377,16 @@ function registerCredentialRoutes(app) {
|
|
|
472
377
|
}, 403);
|
|
473
378
|
}
|
|
474
379
|
}
|
|
380
|
+
// Local mode's ONE token is both the identity above and the credential every agent step
|
|
381
|
+
// clones, pushes, gates and merges with, so a token pasted into a deployment that holds none
|
|
382
|
+
// is installed as that credential here — before the session is minted, so a failure to store
|
|
383
|
+
// it is reported instead of handing the user a session into a product that cannot reach any
|
|
384
|
+
// repo. Only ever a token the caller supplied (never the deployment's own, re-installed), and
|
|
385
|
+
// only while `installable` says the environment names none; the facade's `install` refuses
|
|
386
|
+
// otherwise, which the shared error handler renders as the refusal it is.
|
|
387
|
+
if (token && container.localVcsSetup?.installable().includes(provider)) {
|
|
388
|
+
await container.localVcsSetup.install(provider, token, { login: identity.login });
|
|
389
|
+
}
|
|
475
390
|
const user = await container.userService.findOrCreateByIdentity(provider, identity.externalId, {
|
|
476
391
|
name: identity.name,
|
|
477
392
|
email: identity.email,
|
|
@@ -748,38 +663,4 @@ function registerSessionRoutes(app) {
|
|
|
748
663
|
// Stateless sessions: logout is a client-side token drop. Provided for symmetry.
|
|
749
664
|
buildHonoRoute(app, logoutContract, (c) => c.body(null, 204));
|
|
750
665
|
}
|
|
751
|
-
/** Verify + single-use the OAuth state (signature, expiry, browser-binding cookie). */
|
|
752
|
-
async function consumeState(c, cfg) {
|
|
753
|
-
const state = await new HmacSigner(cfg.sessionSecret).verify(c.req.query('state'), {
|
|
754
|
-
aud: TOKEN_AUDIENCE.oauthState,
|
|
755
|
-
});
|
|
756
|
-
const boundNonce = getCookie(c, OAUTH_STATE_COOKIE);
|
|
757
|
-
deleteCookie(c, OAUTH_STATE_COOKIE, { path: '/auth' });
|
|
758
|
-
if (!state || !boundNonce || boundNonce !== state.nonce)
|
|
759
|
-
return null;
|
|
760
|
-
return state;
|
|
761
|
-
}
|
|
762
|
-
async function peekInvite(c, token) {
|
|
763
|
-
const inv = c.get('container').invitations;
|
|
764
|
-
return inv ? inv.peek(token) : null;
|
|
765
|
-
}
|
|
766
|
-
/** Whether a sign-in email matches the address an invitation was sent to. */
|
|
767
|
-
function emailMatchesInvite(signInEmail, inviteEmail) {
|
|
768
|
-
return !!signInEmail && signInEmail.toLowerCase().trim() === inviteEmail;
|
|
769
|
-
}
|
|
770
|
-
async function acceptInvite(c, token, userId, userEmail) {
|
|
771
|
-
const inv = c.get('container').invitations;
|
|
772
|
-
if (!inv)
|
|
773
|
-
return;
|
|
774
|
-
try {
|
|
775
|
-
await inv.accept(token, userId, userEmail);
|
|
776
|
-
}
|
|
777
|
-
catch (err) {
|
|
778
|
-
// Expected invite states (expired / already-used / wrong email) must not block an
|
|
779
|
-
// otherwise-valid login; an unexpected infra error should still surface.
|
|
780
|
-
if (err instanceof ConflictError || err instanceof NotFoundError)
|
|
781
|
-
return;
|
|
782
|
-
throw err;
|
|
783
|
-
}
|
|
784
|
-
}
|
|
785
666
|
//# sourceMappingURL=AuthController.js.map
|