authflow-cli 0.6.0 → 0.7.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.
Files changed (69) hide show
  1. package/README.md +23 -3
  2. package/dist/brand-mark.d.ts +1 -0
  3. package/dist/brand-mark.js +6 -0
  4. package/dist/brand-mark.js.map +1 -0
  5. package/dist/checks.js.map +1 -1
  6. package/dist/cli.js +2 -2
  7. package/dist/cli.js.map +1 -1
  8. package/dist/client-conformance.js.map +1 -1
  9. package/dist/commands/account.js +1 -1
  10. package/dist/commands/account.js.map +1 -1
  11. package/dist/commands/feedback.d.ts +6 -0
  12. package/dist/commands/feedback.js +46 -0
  13. package/dist/commands/feedback.js.map +1 -0
  14. package/dist/commands/init.d.ts +7 -0
  15. package/dist/commands/init.js +50 -12
  16. package/dist/commands/init.js.map +1 -1
  17. package/dist/commands/probe.js +9 -5
  18. package/dist/commands/probe.js.map +1 -1
  19. package/dist/commands/register.js +25 -13
  20. package/dist/commands/register.js.map +1 -1
  21. package/dist/commands/rotate-origin-key.js +15 -10
  22. package/dist/commands/rotate-origin-key.js.map +1 -1
  23. package/dist/commands/scaffold.js +7 -4
  24. package/dist/commands/scaffold.js.map +1 -1
  25. package/dist/commands/set-domain.js.map +1 -1
  26. package/dist/commands/signup.js +1 -1
  27. package/dist/commands/signup.js.map +1 -1
  28. package/dist/config.d.ts +12 -0
  29. package/dist/config.js +57 -3
  30. package/dist/config.js.map +1 -1
  31. package/dist/credentials.d.ts +11 -2
  32. package/dist/credentials.js +32 -15
  33. package/dist/credentials.js.map +1 -1
  34. package/dist/custom-domain.js.map +1 -1
  35. package/dist/doctor.d.ts +21 -0
  36. package/dist/doctor.js +76 -19
  37. package/dist/doctor.js.map +1 -1
  38. package/dist/feedback.d.ts +75 -0
  39. package/dist/feedback.js +82 -0
  40. package/dist/feedback.js.map +1 -0
  41. package/dist/google-redirect.js.map +1 -1
  42. package/dist/integration-plans.json +2 -2
  43. package/dist/integration.js.map +1 -1
  44. package/dist/login-callback.d.ts +29 -0
  45. package/dist/login-callback.js +79 -0
  46. package/dist/login-callback.js.map +1 -0
  47. package/dist/login.d.ts +16 -1
  48. package/dist/login.js +145 -99
  49. package/dist/login.js.map +1 -1
  50. package/dist/management.d.ts +12 -1
  51. package/dist/management.js +40 -5
  52. package/dist/management.js.map +1 -1
  53. package/dist/mcp/management-server.js +31 -10
  54. package/dist/mcp/management-server.js.map +1 -1
  55. package/dist/mcp/server.js +74 -35
  56. package/dist/mcp/server.js.map +1 -1
  57. package/dist/program.js +21 -1
  58. package/dist/program.js.map +1 -1
  59. package/dist/rail.d.ts +6 -0
  60. package/dist/rail.js +22 -0
  61. package/dist/rail.js.map +1 -1
  62. package/dist/secrets.d.ts +23 -5
  63. package/dist/secrets.js +46 -12
  64. package/dist/secrets.js.map +1 -1
  65. package/dist/surface.d.ts +1 -0
  66. package/dist/surface.js +1 -0
  67. package/dist/surface.js.map +1 -1
  68. package/dist/version.js.map +1 -1
  69. package/package.json +9 -9
package/dist/doctor.js CHANGED
@@ -6,6 +6,71 @@ import { runTenantHostChecks } from "./tenant-host.js";
6
6
  // These live in checks.ts so the tenant-host checks can share them without importing this file.
7
7
  // Re-exported because google-redirect.ts and client-conformance.ts import them from here.
8
8
  export { fetchOrNull };
9
+ /**
10
+ * The keys an origin would actually verify with: the same rule as the .NET SDK's
11
+ * `OriginKeyStore.TryParse`. A key is usable only as OKP / Ed25519 / use "sig" / alg "EdDSA" with a
12
+ * non-empty kid and an `x` that is base64url for exactly 32 bytes; other shapes are skipped (so the
13
+ * rail can add key types), and a kid repeated among usable keys makes the origin reject the whole
14
+ * document. A doctor laxer than the SDK passes documents every origin refuses.
15
+ */
16
+ export function usableVerificationKeys(keys) {
17
+ const kids = [];
18
+ const skipped = [];
19
+ for (const [index, key] of keys.entries()) {
20
+ const label = typeof key.kid === "string" && key.kid ? key.kid : `#${index + 1}`;
21
+ if (key.kty !== "OKP" || key.crv !== "Ed25519") {
22
+ skipped.push(`${label} (not OKP/Ed25519)`);
23
+ continue;
24
+ }
25
+ if (key.use !== "sig" || key.alg !== "EdDSA") {
26
+ skipped.push(`${label} (needs use "sig" and alg "EdDSA")`);
27
+ continue;
28
+ }
29
+ if (typeof key.kid !== "string" || !key.kid) {
30
+ skipped.push(`${label} (no kid)`);
31
+ continue;
32
+ }
33
+ if (decodedLength(key.x) !== 32) {
34
+ skipped.push(`${label} (x is not base64url for 32 bytes)`);
35
+ continue;
36
+ }
37
+ if (kids.includes(key.kid))
38
+ return { kids, duplicate: key.kid, skipped };
39
+ kids.push(key.kid);
40
+ }
41
+ return { kids, skipped };
42
+ }
43
+ /**
44
+ * Strict, canonical base64url: the alphabet only, no padding, a length that can encode whole bytes,
45
+ * and exactly what encoding the decoded bytes gives back. The last character can carry unused bits,
46
+ * and Buffer ignores them, but the origin SDK compares the re-encoded text and refuses such a key.
47
+ */
48
+ function decodedLength(value) {
49
+ if (typeof value !== "string" || !/^[A-Za-z0-9_-]+$/.test(value) || value.length % 4 === 1)
50
+ return undefined;
51
+ const bytes = Buffer.from(value, "base64url");
52
+ return bytes.toString("base64url") === value ? bytes.length : undefined;
53
+ }
54
+ function verificationKeyCheck(keys) {
55
+ const { kids, duplicate, skipped } = usableVerificationKeys(keys);
56
+ if (duplicate !== undefined) {
57
+ return {
58
+ name: "ed25519 verification key",
59
+ pass: false,
60
+ detail: `kid '${duplicate}' appears on more than one usable key, so origins reject the whole document.`,
61
+ remedy: "File this against the rail. Every published verification key needs a unique kid.",
62
+ };
63
+ }
64
+ if (kids.length === 0) {
65
+ return {
66
+ name: "ed25519 verification key",
67
+ pass: false,
68
+ detail: `No Ed25519 JWK an origin would accept${skipped.length ? `: ${skipped.join("; ")}` : ""}.`,
69
+ remedy: "File this against the rail. Identity headers cannot be verified without one.",
70
+ };
71
+ }
72
+ return { name: "ed25519 verification key", pass: true, detail: `${kids.length} key(s): ${kids.join(", ")}.` };
73
+ }
9
74
  export async function runDoctor(issuer, slug, options = {}) {
10
75
  const base = issuer.trim().replace(/\/+$/, "");
11
76
  const checks = [];
@@ -134,6 +199,8 @@ async function checkOriginKeys(base) {
134
199
  let document;
135
200
  try {
136
201
  document = JSON.parse(response.body ?? "");
202
+ if (!document || typeof document !== "object" || Array.isArray(document))
203
+ throw new Error("Not a JSON object.");
137
204
  }
138
205
  catch {
139
206
  checks.push({
@@ -145,9 +212,10 @@ async function checkOriginKeys(base) {
145
212
  return checks;
146
213
  }
147
214
  checks.push({ name: "origin keys document", pass: true, detail: `${url} returned 200.` });
148
- // Byte-compare, per spec §5. A mismatch here is the tell-tale of configuring the origin from a
149
- // hostname that redirects, or of pointing at the wrong environment entirely.
150
- const documentIssuer = (document.issuer ?? "").trim();
215
+ // Byte-compare, per spec §5, exactly as the origin SDK does: no trimming. A mismatch here is the
216
+ // tell-tale of configuring the origin from a hostname that redirects, or of pointing at the wrong
217
+ // environment entirely.
218
+ const documentIssuer = typeof document.issuer === "string" ? document.issuer : "";
151
219
  checks.push(documentIssuer === base
152
220
  ? {
153
221
  name: "issuer matches",
@@ -170,23 +238,12 @@ async function checkOriginKeys(base) {
170
238
  detail: `Document advertises '${version}', expected '${OriginProtocol.version1}'.`,
171
239
  remedy: "This CLI implements v1. Upgrade the CLI, or file a rail bug.",
172
240
  });
173
- const keys = document.keys ?? [];
174
- const signing = keys.filter((k) => k.kty === "OKP" && k.crv === "Ed25519" && k.x);
175
- checks.push(signing.length > 0
176
- ? {
177
- name: "ed25519 verification key",
178
- pass: true,
179
- detail: `${signing.length} key(s): ${signing.map((k) => k.kid ?? "?").join(", ")}.`,
180
- }
181
- : {
182
- name: "ed25519 verification key",
183
- pass: false,
184
- detail: "No usable Ed25519 JWK in the document.",
185
- remedy: "File this against the rail. Identity headers cannot be verified without one.",
186
- });
241
+ const keys = Array.isArray(document.keys) ? document.keys : [];
242
+ checks.push(verificationKeyCheck(keys));
187
243
  // A private key in a public document would be a total compromise of the identity header, so it
188
- // is worth failing loudly rather than trusting that it never happens.
189
- const leaked = keys.filter((k) => k.d !== undefined);
244
+ // is worth failing loudly rather than trusting that it never happens. Origins reject the whole
245
+ // document when any key carries a non-empty `d`.
246
+ const leaked = keys.filter((k) => k.d !== undefined && k.d !== null && k.d !== "");
190
247
  if (leaked.length > 0) {
191
248
  checks.push({
192
249
  name: "no private key material",
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Agent feedback: the one channel an agent has for telling the Authflow team it got confused,
4
+ * guessed, worked around something, or needed a tool that does not exist. Every MCP surface
5
+ * (hosted management, both local servers, docs) declares the same tool with the same words, and
6
+ * every one is a thin wrapper over Rail's public feedback routes.
7
+ */
8
+ export declare const feedbackKinds: readonly ["bug", "docs_gap", "missing_tool", "confusing", "workaround", "feedback", "other"];
9
+ export declare const feedbackSeverities: readonly ["blocked", "slowed", "minor"];
10
+ export type FeedbackSurface = "cli_management_mcp" | "cli_onboarding_mcp" | "api";
11
+ export declare const feedbackToolTitle = "Send feedback to the Authflow team";
12
+ /** Word for word the same as the hosted management MCP's (Rail.Host ManagementMcpTools.FeedbackDescription). */
13
+ export declare const feedbackToolDescription: string;
14
+ /** Appended to tool failures, where an agent is most likely to be confused. */
15
+ export declare const feedbackRecovery = " If this did not tell you what to do next, report it with authflow_send_feedback.";
16
+ /** Ends a failure message with the feedback pointer, keeping it one well-formed sentence apart. */
17
+ export declare function withFeedbackRecovery(message: string): string;
18
+ export declare const feedbackInstruction = " If a tool error, doc, or missing capability made you guess, retry, or work around something, call authflow_send_feedback once per distinct issue, then continue.";
19
+ export declare const feedbackInputSchema: {
20
+ kind: z.ZodEnum<{
21
+ bug: "bug";
22
+ confusing: "confusing";
23
+ docs_gap: "docs_gap";
24
+ feedback: "feedback";
25
+ missing_tool: "missing_tool";
26
+ other: "other";
27
+ workaround: "workaround";
28
+ }>;
29
+ summary: z.ZodString;
30
+ severity: z.ZodOptional<z.ZodEnum<{
31
+ blocked: "blocked";
32
+ minor: "minor";
33
+ slowed: "slowed";
34
+ }>>;
35
+ details: z.ZodOptional<z.ZodString>;
36
+ tool_name: z.ZodOptional<z.ZodString>;
37
+ error_text: z.ZodOptional<z.ZodString>;
38
+ workaround: z.ZodOptional<z.ZodString>;
39
+ suggested_fix: z.ZodOptional<z.ZodString>;
40
+ resource_slug: z.ZodOptional<z.ZodString>;
41
+ };
42
+ export type FeedbackReport = {
43
+ kind: typeof feedbackKinds[number];
44
+ summary: string;
45
+ severity?: typeof feedbackSeverities[number];
46
+ details?: string;
47
+ tool_name?: string;
48
+ error_text?: string;
49
+ workaround?: string;
50
+ suggested_fix?: string;
51
+ resource_slug?: string;
52
+ };
53
+ /** Filled in by the wrapper, never by the agent. */
54
+ export type FeedbackOrigin = {
55
+ surface: FeedbackSurface;
56
+ client?: {
57
+ name?: string;
58
+ version?: string;
59
+ };
60
+ serverVersion: string;
61
+ };
62
+ export type FeedbackReceipt = {
63
+ feedback_id: string;
64
+ message: string;
65
+ };
66
+ export declare function feedbackBody(report: FeedbackReport, origin: FeedbackOrigin): Record<string, unknown>;
67
+ /** `POST /admin/agent-feedback`: anonymous, or attributed to a workspace when an admin key is given. */
68
+ export declare function sendFeedback(issuer: string, body: Record<string, unknown>, adminKey?: string): Promise<FeedbackReceipt>;
69
+ /**
70
+ * Through the workspace login when there is one, so the report is attributed; anonymously when there
71
+ * is not, or when the login cannot be used. Feedback from a confused agent is most likely to arrive
72
+ * exactly when its login is the thing that is broken, so a login problem never loses the report.
73
+ * A refusal of the report itself (400, 429) is final: sending it anonymously would be refused too.
74
+ */
75
+ export declare function sendWorkspaceFeedback(issuer: string, body: Record<string, unknown>, workspaceId?: string): Promise<FeedbackReceipt>;
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ import { apiJson, bearer } from "./config.js";
3
+ import { currentWorkspacePath, ManagementOperationError, managementRequest } from "./management.js";
4
+ /**
5
+ * Agent feedback: the one channel an agent has for telling the Authflow team it got confused,
6
+ * guessed, worked around something, or needed a tool that does not exist. Every MCP surface
7
+ * (hosted management, both local servers, docs) declares the same tool with the same words, and
8
+ * every one is a thin wrapper over Rail's public feedback routes.
9
+ */
10
+ export const feedbackKinds = ["bug", "docs_gap", "missing_tool", "confusing", "workaround", "feedback", "other"];
11
+ export const feedbackSeverities = ["blocked", "slowed", "minor"];
12
+ export const feedbackToolTitle = "Send feedback to the Authflow team";
13
+ /** Word for word the same as the hosted management MCP's (Rail.Host ManagementMcpTools.FeedbackDescription). */
14
+ export const feedbackToolDescription = "Send feedback to the Authflow team. Call this once per distinct issue when a tool error, doc, or missing capability made you guess, " +
15
+ "retry with different arguments, work around something, or ask the user to do by hand what you expected a tool to do — or any time you have a suggestion (kind: feedback). " +
16
+ "Report after you have worked around the problem, then continue your task; no reply will come. Never include API keys, tokens, secrets, or end-user personal data.";
17
+ /** Appended to tool failures, where an agent is most likely to be confused. */
18
+ export const feedbackRecovery = " If this did not tell you what to do next, report it with authflow_send_feedback.";
19
+ /** Ends a failure message with the feedback pointer, keeping it one well-formed sentence apart. */
20
+ export function withFeedbackRecovery(message) {
21
+ const trimmed = message.trimEnd();
22
+ return `${trimmed}${/[.!?]$/.test(trimmed) ? "" : "."}${feedbackRecovery}`;
23
+ }
24
+ export const feedbackInstruction = " If a tool error, doc, or missing capability made you guess, retry, or work around something, call authflow_send_feedback once per distinct issue, then continue.";
25
+ // Lengths are stated, not enforced: Rail truncates over-long text instead of losing the report.
26
+ export const feedbackInputSchema = {
27
+ kind: z.enum(feedbackKinds).describe("bug, docs_gap, missing_tool, confusing, workaround, feedback (a comment or suggestion, not a problem), or other."),
28
+ summary: z.string().trim().min(1).describe("One line saying what happened, at most 200 characters."),
29
+ severity: z.enum(feedbackSeverities).optional().describe("blocked, slowed, or minor. Omit for kind feedback."),
30
+ details: z.string().optional().describe("What you tried, what you expected, and what happened (at most 4000 characters)."),
31
+ tool_name: z.string().optional().describe("The tool involved, if any."),
32
+ error_text: z.string().optional().describe("The error text, word for word."),
33
+ workaround: z.string().optional().describe("How you got unstuck, if you did."),
34
+ suggested_fix: z.string().optional().describe("The tool, argument, or documentation change that would have avoided this."),
35
+ resource_slug: z.string().optional().describe("The MCP slug involved, if any."),
36
+ };
37
+ export function feedbackBody(report, origin) {
38
+ return {
39
+ ...report,
40
+ surface: origin.surface,
41
+ client_name: origin.client?.name,
42
+ client_version: origin.client?.version,
43
+ server_version: origin.serverVersion,
44
+ };
45
+ }
46
+ /** `POST /admin/agent-feedback`: anonymous, or attributed to a workspace when an admin key is given. */
47
+ export async function sendFeedback(issuer, body, adminKey) {
48
+ const key = adminKey?.trim();
49
+ const { body: receipt } = await apiJson(`${issuer.replace(/\/+$/, "")}/admin/agent-feedback`, {
50
+ method: "POST",
51
+ headers: { "Content-Type": "application/json", Accept: "application/json", ...(key ? bearer(key) : {}) },
52
+ body: JSON.stringify(body),
53
+ expectedStatuses: [201],
54
+ });
55
+ return receipt;
56
+ }
57
+ /**
58
+ * Through the workspace login when there is one, so the report is attributed; anonymously when there
59
+ * is not, or when the login cannot be used. Feedback from a confused agent is most likely to arrive
60
+ * exactly when its login is the thing that is broken, so a login problem never loses the report.
61
+ * A refusal of the report itself (400, 429) is final: sending it anonymously would be refused too.
62
+ */
63
+ export async function sendWorkspaceFeedback(issuer, body, workspaceId) {
64
+ let path;
65
+ try {
66
+ path = await currentWorkspacePath(issuer, workspaceId);
67
+ }
68
+ catch {
69
+ path = undefined;
70
+ }
71
+ if (path) {
72
+ try {
73
+ return await managementRequest(issuer, `${path}/agent-feedback`, "POST", body);
74
+ }
75
+ catch (error) {
76
+ if (error instanceof ManagementOperationError)
77
+ throw error;
78
+ }
79
+ }
80
+ return sendFeedback(issuer, body);
81
+ }
82
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"google-redirect.js","sourceRoot":"","sources":["../src/google-redirect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-redirect.js","sourceRoot":"","sources":["../src/google-redirect.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "cli_version": "0.6.0",
3
+ "cli_version": "0.7.0",
4
4
  "invariants": [
5
5
  "Serve MCP at /mcp on the origin. The gateway appends /mcp to the origin base URI; do not configure a base URI ending in /mcp or requests will reach /mcp/mcp.",
6
6
  "Verify X-Authflow-Identity on every /mcp request. Fail closed with HTTP 403 and no WWW-Authenticate. Never 401 from the origin: that sends clients into the wrong OAuth flow.",
@@ -71,7 +71,7 @@
71
71
  "summary": "Run the Authflow origin proxy in front of an existing MCP server. The proxy verifies identity; keep the upstream private.",
72
72
  "steps": [
73
73
  { "title": "Register the proxy as the origin", "action": "Set origin_base_uri in origin.json to the proxy's URL, not the upstream MCP server's URL.", "command": "npx --yes authflow-cli@{{cli_version}} resource origin {{slug}} --issuer {{issuer}}{{workspace_arg}} --file origin.json" },
74
- { "title": "Generate sidecar configuration", "action": "Save the public resource receipt, then scaffold the sidecar configuration.", "command": "authflow scaffold --receipt receipt.json --upstream http://upstream:3000" },
74
+ { "title": "Generate sidecar configuration", "action": "Save the resource receipt with authflow resource get, then scaffold the sidecar configuration from it.", "command": "npx --yes authflow-cli@{{cli_version}} resource get {{slug}} --issuer {{issuer}}{{workspace_arg}} > receipt.json\nnpx --yes authflow-cli@{{cli_version}} scaffold --receipt receipt.json --upstream http://upstream:3000" },
75
75
  { "title": "Consume forwarded identity", "action": "The upstream receives X-Authflow-User, X-Authflow-Tier, and X-Authflow-Nonce after verification. Trust them only when the proxy is the sole ingress. The proxy does not implement your origin_reported billing logic." },
76
76
  { "title": "Set a shared nonce cache before scaling", "action": "Replay protection defaults to process-local. Set Authflow__NonceCacheRedis before using more than one replica." }
77
77
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"integration.js","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { ServerResponse } from "node:http";
2
+ declare const pages: {
3
+ readonly received: {
4
+ readonly status: 200;
5
+ readonly title: "Authorization received — return to your terminal";
6
+ readonly description: "Authflow received your browser authorization. Return to your terminal to finish connecting.";
7
+ readonly next: "Your client will confirm when it is ready. You can close this tab.";
8
+ };
9
+ readonly declined: {
10
+ readonly status: 400;
11
+ readonly title: "Sign-in was not completed";
12
+ readonly description: "Authorization was declined or could not be completed. No new connection was saved.";
13
+ readonly next: "Return to your terminal and run authflow login when you are ready to try again.";
14
+ };
15
+ readonly invalidIssuer: {
16
+ readonly status: 400;
17
+ readonly title: "Sign-in could not be verified";
18
+ readonly description: "The authorization response came from an unexpected issuer. No new connection was saved.";
19
+ readonly next: "Return to your terminal and run authflow login again.";
20
+ };
21
+ readonly invalidCallback: {
22
+ readonly status: 400;
23
+ readonly title: "This sign-in link is not valid";
24
+ readonly description: "This response does not match the sign-in request waiting in your terminal.";
25
+ readonly next: "Use the sign-in link from your terminal to continue. You can close this tab.";
26
+ };
27
+ };
28
+ export declare function writeLoginCallback(response: ServerResponse, outcome: keyof typeof pages): void;
29
+ export {};
@@ -0,0 +1,79 @@
1
+ import { createHash } from "node:crypto";
2
+ import { brandMarkPng } from "./brand-mark.js";
3
+ // Keep this loopback page self-contained, using the Rail sign-in palette and card proportions.
4
+ // The mark is marketing's icon-48.png as a data: URI, lifted on dark backgrounds the way the
5
+ // Rail shell lifts it; the CSP allows exactly that image source and this one hashed stylesheet.
6
+ // Serve HTML: the affected Edge profile blocked plain-text callbacks after receiving them,
7
+ // while an HTML callback rendered successfully without changing OAuth or browser settings.
8
+ // Its only interpolated content is selected from the static messages below, never the OAuth URL.
9
+ const styles = `
10
+ :root { color-scheme: dark light; --canvas:#0c0e12; --surface:#14171e; --border:#2a3140; --fg:#f3f5f8; --muted:#9aa3b2; --accent:#7aa2ff; --raised:#1b1f28; }
11
+ * { box-sizing:border-box; }
12
+ body { margin:0; font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--fg); background:var(--canvas); background-image:radial-gradient(ellipse at 50% 0,rgba(122,162,255,.12),transparent 55%); line-height:1.55; }
13
+ .rail-shell { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; min-height:100dvh; padding:1.5rem 1.15rem 2rem; gap:1.15rem; }
14
+ .rail-brand { display:flex; align-items:center; gap:.55rem; color:var(--muted); font-size:.8125rem; font-weight:600; letter-spacing:.02em; }
15
+ .rail-brand-mark { display:block; width:1.35rem; height:1.35rem; filter:brightness(1.65) saturate(.9); }
16
+ .rail-card { width:100%; max-width:26.5rem; padding:1.75rem 1.5rem 1.45rem; border:1px solid var(--border); border-radius:1.25rem; background:var(--surface); box-shadow:0 24px 48px rgba(0,0,0,.2); }
17
+ .rail-eyebrow { margin:0 0 .45rem; color:var(--accent); font-size:.6875rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
18
+ h1 { margin:0; font-size:1.5rem; font-weight:600; line-height:1.25; letter-spacing:-.02em; }
19
+ .rail-lead { margin:.85rem 0 0; color:var(--muted); font-size:.9375rem; }
20
+ .rail-next { margin:1.35rem 0 0; padding:.85rem 1rem; border:1px solid var(--border); border-radius:.875rem; background:var(--raised); font-size:.875rem; }
21
+ .rail-foot { margin:0; color:var(--muted); font-size:.75rem; }
22
+ @media (prefers-color-scheme:light) { :root { --canvas:#eef0f4; --surface:#fff; --border:#d8dce3; --fg:#11141a; --muted:#5c6570; --accent:#3b6fe3; --raised:#f7f8fa; } .rail-card { box-shadow:0 18px 40px rgba(17,20,26,.08); } .rail-brand-mark { filter:none; } }
23
+ `;
24
+ const styleHash = createHash("sha256").update(styles).digest("base64");
25
+ const pages = {
26
+ received: {
27
+ // Served before the token exchange and workspace check, so it must not claim completion.
28
+ status: 200, title: "Authorization received — return to your terminal",
29
+ description: "Authflow received your browser authorization. Return to your terminal to finish connecting.",
30
+ next: "Your client will confirm when it is ready. You can close this tab.",
31
+ },
32
+ declined: {
33
+ status: 400, title: "Sign-in was not completed",
34
+ description: "Authorization was declined or could not be completed. No new connection was saved.",
35
+ next: "Return to your terminal and run authflow login when you are ready to try again.",
36
+ },
37
+ invalidIssuer: {
38
+ status: 400, title: "Sign-in could not be verified",
39
+ description: "The authorization response came from an unexpected issuer. No new connection was saved.",
40
+ next: "Return to your terminal and run authflow login again.",
41
+ },
42
+ invalidCallback: {
43
+ status: 400, title: "This sign-in link is not valid",
44
+ description: "This response does not match the sign-in request waiting in your terminal.",
45
+ next: "Use the sign-in link from your terminal to continue. You can close this tab.",
46
+ },
47
+ };
48
+ export function writeLoginCallback(response, outcome) {
49
+ const page = pages[outcome];
50
+ response.writeHead(page.status, {
51
+ "Content-Type": "text/html; charset=utf-8",
52
+ "Cache-Control": "no-store",
53
+ "Referrer-Policy": "no-referrer",
54
+ "X-Content-Type-Options": "nosniff",
55
+ "Content-Security-Policy": `default-src 'none'; style-src 'sha256-${styleHash}'; img-src data:; base-uri 'none'; form-action 'none'; frame-ancestors 'none'`,
56
+ }).end(`<!doctype html>
57
+ <html lang="en">
58
+ <head>
59
+ <meta charset="utf-8">
60
+ <meta name="viewport" content="width=device-width, initial-scale=1">
61
+ <meta name="referrer" content="no-referrer">
62
+ <title>${page.title} · Authflow</title>
63
+ <style>${styles}</style>
64
+ </head>
65
+ <body>
66
+ <div class="rail-shell">
67
+ <header class="rail-brand"><img class="rail-brand-mark" src="data:image/png;base64,${brandMarkPng}" alt="" width="48" height="48"><span>Authflow</span></header>
68
+ <main class="rail-card">
69
+ <p class="rail-eyebrow">Authflow CLI</p>
70
+ <h1>${page.title}</h1>
71
+ <p class="rail-lead">${page.description}</p>
72
+ <p class="rail-next">${page.next}</p>
73
+ </main>
74
+ <p class="rail-foot">Secured by Authflow</p>
75
+ </div>
76
+ </body>
77
+ </html>`);
78
+ }
79
+ //# sourceMappingURL=login-callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login-callback.js","sourceRoot":"","sources":["../src/login-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,+FAA+F;AAC/F,6FAA6F;AAC7F,gGAAgG;AAChG,2FAA2F;AAC3F,2FAA2F;AAC3F,iGAAiG;AACjG,MAAM,MAAM,GAAG;;;;;;;;;;;;;;CAcd,CAAC;AACF,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvE,MAAM,KAAK,GAAG;IACZ,QAAQ,EAAE;QACR,yFAAyF;QACzF,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,kDAAkD;QACtE,WAAW,EAAE,6FAA6F;QAC1G,IAAI,EAAE,oEAAoE;KAC3E;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,2BAA2B;QAC/C,WAAW,EAAE,oFAAoF;QACjG,IAAI,EAAE,iFAAiF;KACxF;IACD,aAAa,EAAE;QACb,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,+BAA+B;QACnD,WAAW,EAAE,yFAAyF;QACtG,IAAI,EAAE,uDAAuD;KAC9D;IACD,eAAe,EAAE;QACf,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,gCAAgC;QACpD,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,8EAA8E;KACrF;CACO,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAAC,QAAwB,EAAE,OAA2B;IACtF,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;QAC9B,cAAc,EAAE,0BAA0B;QAC1C,eAAe,EAAE,UAAU;QAC3B,iBAAiB,EAAE,aAAa;QAChC,wBAAwB,EAAE,SAAS;QACnC,yBAAyB,EAAE,yCAAyC,SAAS,+EAA+E;KAC7J,CAAC,CAAC,GAAG,CAAC;;;;;;SAMA,IAAI,CAAC,KAAK;SACV,MAAM;;;;qFAIsE,YAAY;;;MAG3F,IAAI,CAAC,KAAK;uBACO,IAAI,CAAC,WAAW;uBAChB,IAAI,CAAC,IAAI;;;;;QAKxB,CAAC,CAAC;AACV,CAAC"}
package/dist/login.d.ts CHANGED
@@ -1,4 +1,11 @@
1
1
  import { type LoginCredential } from "./credentials.js";
2
+ /**
3
+ * RFC 9207 mix-up defense. An issuer that advertises the `iss` authorization-response parameter
4
+ * (Rail does) must send exactly one, matching the issuer this login started with; a response
5
+ * without it is not from that issuer's authorization endpoint. Others may omit it, but never send
6
+ * a wrong or duplicated one.
7
+ */
8
+ export declare function acceptsCallbackIssuer(values: string[], issuer: string, required: boolean): boolean;
2
9
  export declare function validatedIssuer(value: string): string;
3
10
  export declare function matchesOAuthState(actual: string | null, expected: string): boolean;
4
11
  export declare function login(issuerValue: string, workspaceId?: string, open?: boolean): Promise<{
@@ -6,6 +13,14 @@ export declare function login(issuerValue: string, workspaceId?: string, open?:
6
13
  workspace_id: string;
7
14
  }>;
8
15
  export declare function managementCredential(issuerValue: string): Promise<LoginCredential>;
16
+ /** What logout actually did. Without a stored login there is nothing to sign out of or revoke. */
17
+ export type LogoutResult = {
18
+ signed_out: true;
19
+ authorization_revoked: boolean;
20
+ } | {
21
+ signed_out: false;
22
+ reason: "no_login";
23
+ };
9
24
  export declare function logout(issuerValue: string, options?: {
10
25
  localOnly?: boolean;
11
- }): Promise<void>;
26
+ }): Promise<LogoutResult>;