export interface ManagedAuthConfig { readonly jwksUrl: string; readonly issuer: string; readonly cpWebOrigin: string; } export class ManagedAuthConfigFactory { create(env: Readonly): ManagedAuthConfig { const jwksUrl = env["CONTROL_PLANE_JWKS_URL"]; const issuer = env["CONTROL_PLANE_ISSUER"]; const cpWebOrigin = env["CP_WEB_ORIGIN"]; if (!jwksUrl || !issuer || !cpWebOrigin) { throw new Error( "ManagedAuthConfigFactory: CONTROL_PLANE_JWKS_URL, CONTROL_PLANE_ISSUER, and CP_WEB_ORIGIN are required in managed auth mode.", ); } return { jwksUrl, issuer, cpWebOrigin }; } }