@cat-factory/server 0.222.2 → 0.224.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/agents/ContainerAgentExecutor.d.ts +9 -12
- package/dist/agents/ContainerAgentExecutor.d.ts.map +1 -1
- package/dist/agents/ContainerAgentExecutor.js +7 -24
- package/dist/agents/ContainerAgentExecutor.js.map +1 -1
- package/dist/agents/mcpOAuthClientSecret.d.ts +27 -0
- package/dist/agents/mcpOAuthClientSecret.d.ts.map +1 -0
- package/dist/agents/mcpOAuthClientSecret.js +46 -0
- package/dist/agents/mcpOAuthClientSecret.js.map +1 -0
- package/dist/agents/mcpOAuthTokenSource.d.ts +55 -0
- package/dist/agents/mcpOAuthTokenSource.d.ts.map +1 -0
- package/dist/agents/mcpOAuthTokenSource.js +60 -0
- package/dist/agents/mcpOAuthTokenSource.js.map +1 -0
- package/dist/agents/toolServers.d.ts +55 -1
- package/dist/agents/toolServers.d.ts.map +1 -1
- package/dist/agents/toolServers.js +132 -4
- package/dist/agents/toolServers.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +11 -0
- package/dist/app.js.map +1 -1
- 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.d.ts +5 -0
- package/dist/config/problems.d.ts.map +1 -1
- package/dist/config/problems.js +6 -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 +26 -1
- package/dist/http/env.d.ts.map +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -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 +18 -150
- 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/dist/modules/publicApi/PublicDebugController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicDebugController.js +5 -0
- package/dist/modules/publicApi/PublicDebugController.js.map +1 -1
- package/dist/modules/toolServers/McpOAuthCompletionController.d.ts +4 -0
- package/dist/modules/toolServers/McpOAuthCompletionController.d.ts.map +1 -0
- package/dist/modules/toolServers/McpOAuthCompletionController.js +125 -0
- package/dist/modules/toolServers/McpOAuthCompletionController.js.map +1 -0
- package/dist/modules/toolServers/ToolServerController.d.ts.map +1 -1
- package/dist/modules/toolServers/ToolServerController.js +80 -4
- package/dist/modules/toolServers/ToolServerController.js.map +1 -1
- package/dist/modules/toolServers/declaredToolServers.d.ts +15 -1
- package/dist/modules/toolServers/declaredToolServers.d.ts.map +1 -1
- package/dist/modules/toolServers/declaredToolServers.js +22 -2
- package/dist/modules/toolServers/declaredToolServers.js.map +1 -1
- package/dist/modules/toolServers/mcpOAuthRedirect.d.ts +27 -0
- package/dist/modules/toolServers/mcpOAuthRedirect.d.ts.map +1 -0
- package/dist/modules/toolServers/mcpOAuthRedirect.js +35 -0
- package/dist/modules/toolServers/mcpOAuthRedirect.js.map +1 -0
- package/dist/modules/toolServers/probeToolServer.d.ts +8 -1
- package/dist/modules/toolServers/probeToolServer.d.ts.map +1 -1
- package/dist/modules/toolServers/probeToolServer.js +51 -1
- package/dist/modules/toolServers/probeToolServer.js.map +1 -1
- package/dist/modules/workspaces/WorkspaceMemberController.d.ts.map +1 -1
- package/dist/modules/workspaces/WorkspaceMemberController.js +3 -3
- package/dist/modules/workspaces/WorkspaceMemberController.js.map +1 -1
- package/dist/persistence/rpc-allowlist.d.ts.map +1 -1
- package/dist/persistence/rpc-allowlist.js +16 -0
- package/dist/persistence/rpc-allowlist.js.map +1 -1
- package/dist/telemetry/machineTelemetryRead.d.ts +8 -3
- package/dist/telemetry/machineTelemetryRead.d.ts.map +1 -1
- package/dist/telemetry/machineTelemetryRead.js +6 -1
- package/dist/telemetry/machineTelemetryRead.js.map +1 -1
- package/package.json +10 -9
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,6 +1,6 @@
|
|
|
1
1
|
import type { Context } from 'hono';
|
|
2
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';
|
|
3
|
-
import type { ApiKeyService, EnvironmentBackendRegistry, LocalModelEndpointService, LocalSettingsService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService, NotificationWebhookService, PublicApiKeyService, RunnerBackendRegistry, TestSecretsService, CapabilityCredentialsService, ValidationConfigService, UserSecretService } from '@cat-factory/integrations';
|
|
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';
|
|
6
6
|
import type { InitiativePresetRegistry } from '@cat-factory/kernel';
|
|
@@ -133,6 +133,31 @@ export interface ServerContainer extends Core {
|
|
|
133
133
|
* same state, rather than a probe that silently succeeds against an unauthenticated endpoint.
|
|
134
134
|
*/
|
|
135
135
|
toolSecretResolver?: ToolSecretResolver;
|
|
136
|
+
/**
|
|
137
|
+
* The per-workspace OAUTH GRANT store for remote (`http`) MCP tool servers (sealed). Present
|
|
138
|
+
* only when a facade wired the repository, which needs `ENCRYPTION_KEY` like every other sealed
|
|
139
|
+
* store.
|
|
140
|
+
*
|
|
141
|
+
* Backs three things: the connect/disconnect routes, the connection state the tool-server
|
|
142
|
+
* inventory renders per declaration, and the dispatch-time token source the executor mints an
|
|
143
|
+
* `Authorization` header from. Absent ⇒ a declaration that authenticates with OAuth has nowhere
|
|
144
|
+
* to keep a grant, so the routes refuse with a 503 naming the key and a dispatch states the
|
|
145
|
+
* server as `oauth_not_connected` — never a request sent without its token.
|
|
146
|
+
*/
|
|
147
|
+
mcpOAuth?: McpOAuthService;
|
|
148
|
+
/**
|
|
149
|
+
* The redirect URL a vendor's authorization server sends the operator's browser back to
|
|
150
|
+
* (`MCP_OAUTH_REDIRECT_URL`), which must match what the deployment registered as its OAuth
|
|
151
|
+
* client's redirect URI.
|
|
152
|
+
*
|
|
153
|
+
* Operator-configured rather than derived from the incoming request, because it is a value a
|
|
154
|
+
* THIRD PARTY has on file: deriving it from a `Host` header would produce a different string
|
|
155
|
+
* behind every proxy, preview URL and private hostname a deployment sits behind, and the
|
|
156
|
+
* authorization server rejects the exchange when it does not match to the byte. Absent ⇒ the
|
|
157
|
+
* interactive grant is refused with a 503 naming the variable; the client-credentials grant
|
|
158
|
+
* needs no redirect and works without it.
|
|
159
|
+
*/
|
|
160
|
+
mcpOAuthRedirectUrl?: string;
|
|
136
161
|
/**
|
|
137
162
|
* The per-service PRE-PR VALIDATION CHECK store: the commands the harness runs against the
|
|
138
163
|
* checkout before opening a PR. Present only when the facade wired the validation-config
|
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,7 +18,8 @@ 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';
|
|
@@ -28,6 +29,9 @@ export { ensureWorkBranchViaRest, type EnsureWorkBranchInput } from './github/en
|
|
|
28
29
|
export { RunnerJobClient, type ResolveRunnerTransport } from './agents/RunnerJobClient.js';
|
|
29
30
|
export { type EnvToolSecretResolverOptions, type McpServerJobSpec, type ResolvedToolServers, createEnvToolSecretResolver, resolveToolServers, } from './agents/toolServers.js';
|
|
30
31
|
export { buildToolSecretChain, createWorkspaceToolSecretResolver, composeToolSecretResolvers, toolSecretContainerFields, type ToolSecretChain, type ToolSecretChainInput, type ToolSecretContainerFields, type WorkspaceToolSecretResolverOptions, } from './agents/capabilityCredentialResolver.js';
|
|
32
|
+
export { createMcpOAuthTokenSource, mcpOAuthContainerFields, mcpOAuthExecutorDeps, type McpOAuthContainerFields, type McpOAuthTokenSourceOptions, } from './agents/mcpOAuthTokenSource.js';
|
|
33
|
+
export { resolveOAuthClientSecret, type OAuthClientSecretResolution, type ResolveOAuthClientSecretInput, } from './agents/mcpOAuthClientSecret.js';
|
|
34
|
+
export { MCP_OAUTH_CALLBACK_PATH, requireMcpOAuthRedirectUrl, } from './modules/toolServers/mcpOAuthRedirect.js';
|
|
31
35
|
export { buildCapabilityCredentialsView, collectDeclaredCapabilityCredentials, type DeclaredCapabilityCredential, type DeclaredCapabilityCredentials, } from './modules/capabilityCredentials/declaredCredentials.js';
|
|
32
36
|
export { createScopedModelProviderResolver, wrapResolverWithTelemetry, type InlineInstrumentation, type ResolverTelemetryWraps, type ScopedModelProviderOptions, } from './agents/modelProviderResolver.js';
|
|
33
37
|
export { createInlineInstrumentation, type InlineInstrumentationOptions, } from './agents/inlineInstrumentation.js';
|
|
@@ -83,7 +87,11 @@ export { GitHubPrReportPublisher, type GitHubPrReportPublisherDependencies, } fr
|
|
|
83
87
|
export { HmacSigner, TOKEN_AUDIENCE, type MachinePayload, type SessionPayload, type SessionUser, type TokenAudience, } from './auth/signing.js';
|
|
84
88
|
export { DEFAULT_MACHINE_TOKEN_TTL_MS, mintMachineToken, resolveMachineTokenTtlMs, } from './auth/machineToken.js';
|
|
85
89
|
export { WS_TICKET_TTL_MS, authorizeWsUpgrade, mintWsTicket, type WsTicket, type WsUpgradeAuth, } from './auth/wsTicket.js';
|
|
86
|
-
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';
|
|
90
|
+
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';
|
|
91
|
+
export { resolveSsoConfig, type SsoEnv } from './config/sso.js';
|
|
92
|
+
export { OidcProviderDirectory, readProviderMetadata } from './auth/oidc/discovery.js';
|
|
93
|
+
export { OidcClient, OidcFlowError, createPkcePair, type PkcePair } from './auth/oidc/OidcClient.js';
|
|
94
|
+
export { judgeSsoAdmission, needsUserinfo, readGroupClaim, readSsoIdentity, type SsoAdmission, type SsoIdentity, } from './auth/oidc/claims.js';
|
|
87
95
|
export { parsePlatformObservabilityWindow, resolvePlatformAlertConfig, type PlatformAlertEnvInput, } from './config/platformAlerts.js';
|
|
88
96
|
export { resolveInfraReachabilityConfig, shouldRunReachabilityPass, type InfraReachabilityEnvInput, } from './config/infraReachability.js';
|
|
89
97
|
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
|
|
@@ -47,6 +50,13 @@ export { createEnvToolSecretResolver, resolveToolServers, } from './agents/toolS
|
|
|
47
50
|
// its dispatch path asks and the description its credential checklist renders, so the two cannot
|
|
48
51
|
// disagree about whether an unstored key still resolves.
|
|
49
52
|
export { buildToolSecretChain, createWorkspaceToolSecretResolver, composeToolSecretResolvers, toolSecretContainerFields, } from './agents/capabilityCredentialResolver.js';
|
|
53
|
+
// The OAuth half of the same seam: the kernel `McpOAuthTokenSource` a facade wires, joining the
|
|
54
|
+
// sealed per-workspace grant store to the credential chain above (which resolves the OAuth client
|
|
55
|
+
// secret). Every facade builds it beside `buildToolSecretChain`, so a deployment with a grant
|
|
56
|
+
// store dispatches with a live token and one without states the server as `oauth_not_connected`.
|
|
57
|
+
export { createMcpOAuthTokenSource, mcpOAuthContainerFields, mcpOAuthExecutorDeps, } from './agents/mcpOAuthTokenSource.js';
|
|
58
|
+
export { resolveOAuthClientSecret, } from './agents/mcpOAuthClientSecret.js';
|
|
59
|
+
export { MCP_OAUTH_CALLBACK_PATH, requireMcpOAuthRedirectUrl, } from './modules/toolServers/mcpOAuthRedirect.js';
|
|
50
60
|
export { buildCapabilityCredentialsView, collectDeclaredCapabilityCredentials, } from './modules/capabilityCredentials/declaredCredentials.js';
|
|
51
61
|
export { createScopedModelProviderResolver,
|
|
52
62
|
// The individual instrumentation / limiter wraps are deliberately NOT exported: their
|
|
@@ -127,6 +137,12 @@ export { GitHubPrReportPublisher, } from './github/GitHubPrReportPublisher.js';
|
|
|
127
137
|
export { HmacSigner, TOKEN_AUDIENCE, } from './auth/signing.js';
|
|
128
138
|
export { DEFAULT_MACHINE_TOKEN_TTL_MS, mintMachineToken, resolveMachineTokenTtlMs, } from './auth/machineToken.js';
|
|
129
139
|
export { WS_TICKET_TTL_MS, authorizeWsUpgrade, mintWsTicket, } from './auth/wsTicket.js';
|
|
140
|
+
// Enterprise SSO (generic OIDC): the shared env resolver both facades call, and the pieces a
|
|
141
|
+
// facade or a test needs to reach the flow without going through the HTTP routes.
|
|
142
|
+
export { resolveSsoConfig } from './config/sso.js';
|
|
143
|
+
export { OidcProviderDirectory, readProviderMetadata } from './auth/oidc/discovery.js';
|
|
144
|
+
export { OidcClient, OidcFlowError, createPkcePair } from './auth/oidc/OidcClient.js';
|
|
145
|
+
export { judgeSsoAdmission, needsUserinfo, readGroupClaim, readSsoIdentity, } from './auth/oidc/claims.js';
|
|
130
146
|
export { parsePlatformObservabilityWindow, resolvePlatformAlertConfig, } from './config/platformAlerts.js';
|
|
131
147
|
export { resolveInfraReachabilityConfig, shouldRunReachabilityPass, } from './config/infraReachability.js';
|
|
132
148
|
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) => {
|
|
@@ -748,38 +650,4 @@ function registerSessionRoutes(app) {
|
|
|
748
650
|
// Stateless sessions: logout is a client-side token drop. Provided for symmetry.
|
|
749
651
|
buildHonoRoute(app, logoutContract, (c) => c.body(null, 204));
|
|
750
652
|
}
|
|
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
653
|
//# sourceMappingURL=AuthController.js.map
|