AuthSpec:
    | { mode: "none" }
    | {
        header?: string;
        mode: "bearer" | "header" | "basic";
        secretRef: string;
    }
    | {
        inject: { header: string; template: string };
        login: DataSource;
        mode: "pre-login";
        tokenPath: string;
        ttlSeconds?: number;
    }