@vibes.diy/identity 14.3.187 → 14.3.189
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/device-id/register-golden.test.js +1 -1
- package/device-id/register-golden.test.js.map +1 -1
- package/device-id/register-integration.test.js +173 -20
- package/device-id/register-integration.test.js.map +1 -1
- package/device-id/register-support.d.ts +31 -0
- package/device-id/register-support.js +103 -0
- package/device-id/register-support.js.map +1 -0
- package/device-id/register-support.test.d.ts +1 -0
- package/device-id/register-support.test.js +89 -0
- package/device-id/register-support.test.js.map +1 -0
- package/device-id/register.d.ts +13 -0
- package/device-id/register.js +126 -36
- package/device-id/register.js.map +1 -1
- package/keybag/key-bag-file.d.ts +1 -0
- package/keybag/key-bag-file.js +4 -1
- package/keybag/key-bag-file.js.map +1 -1
- package/keybag/key-bag.d.ts +1 -0
- package/keybag/key-bag.js +1 -1
- package/keybag/key-bag.js.map +1 -1
- package/keybag/keybag.d.ts +1 -0
- package/keybag/keybag.js +9 -2
- package/keybag/keybag.js.map +1 -1
- package/node.d.ts +2 -1
- package/node.js +2 -1
- package/node.js.map +1 -1
- package/package.json +2 -2
|
@@ -69,7 +69,7 @@ describe("device-id register — already-enrolled short-circuit (no re-login)",
|
|
|
69
69
|
expect(isResDeviceIdRegister(msg)).toBe(true);
|
|
70
70
|
if (isResDeviceIdRegister(msg)) {
|
|
71
71
|
expect(msg.output).toContain("Device already has a certificate. Registration not needed.");
|
|
72
|
-
expect(msg.output).toContain("Use --force
|
|
72
|
+
expect(msg.output).toContain("Use --force to renew the certificate.");
|
|
73
73
|
expect(msg.output).toContain("Existing Device ID Fingerprint:");
|
|
74
74
|
}
|
|
75
75
|
const devid = await kb.getDeviceId();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-golden.test.js","sourceRoot":"","sources":["../../jsr/device-id/register-golden.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"register-golden.test.js","sourceRoot":"","sources":["../../jsr/device-id/register-golden.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
import { createServer } from "node:net";
|
|
2
|
-
import { describe, it, expect
|
|
3
|
-
import { AppContext, Evento, Result } from "@adviser/cement";
|
|
2
|
+
import { describe, it, expect } from "vitest";
|
|
3
|
+
import { AppContext, Evento, Result, URI } from "@adviser/cement";
|
|
4
4
|
import { ensureSuperThis } from "../index.js";
|
|
5
|
-
import { getKeyBag } from "../keybag/keybag.js";
|
|
5
|
+
import { getKeyBag, deviceIdKeybagFilePath } from "../keybag/keybag.js";
|
|
6
|
+
import { deviceIdKey as deviceIdKeybagId } from "../keybag/key-bag.js";
|
|
6
7
|
import { DeviceIdKey } from "./key.js";
|
|
7
8
|
import { createTestDeviceCA } from "./test-helpers.js";
|
|
8
9
|
import { deviceIdRegisterEvento, isResDeviceIdRegister } from "./register.js";
|
|
9
|
-
const
|
|
10
|
+
const opener = {
|
|
10
11
|
waiters: [],
|
|
11
12
|
failNext: false,
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
}));
|
|
13
|
+
};
|
|
14
|
+
function openBrowser(url) {
|
|
15
|
+
for (const w of opener.waiters.splice(0))
|
|
16
|
+
w(url);
|
|
17
|
+
if (opener.failNext) {
|
|
18
|
+
opener.failNext = false;
|
|
19
|
+
return Promise.reject(new Error("no browser available"));
|
|
20
|
+
}
|
|
21
|
+
return Promise.resolve();
|
|
22
|
+
}
|
|
24
23
|
function nextOpenUrl() {
|
|
25
|
-
return new Promise((resolve) =>
|
|
24
|
+
return new Promise((resolve) => opener.waiters.push(resolve));
|
|
26
25
|
}
|
|
26
|
+
const desktopDeps = {
|
|
27
|
+
openBrowser,
|
|
28
|
+
env: {},
|
|
29
|
+
platform: "darwin",
|
|
30
|
+
pasteSource: () => undefined,
|
|
31
|
+
};
|
|
27
32
|
const FIXTURE = (await import("../keybag/keybag-golden.fixture.json", { with: { type: "json" } })).default;
|
|
28
33
|
class TestSendProvider {
|
|
29
34
|
results = [];
|
|
@@ -35,14 +40,14 @@ class TestSendProvider {
|
|
|
35
40
|
return Promise.resolve(Result.Ok(undefined));
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
|
-
function startRegister(sthis, raw) {
|
|
43
|
+
function startRegister(sthis, raw, deps = {}) {
|
|
39
44
|
const evento = new Evento({
|
|
40
45
|
encode: (i) => Promise.resolve(Result.Ok(i.result)),
|
|
41
46
|
decode: (i) => Promise.resolve(Result.Ok(i)),
|
|
42
47
|
});
|
|
43
48
|
evento.push([deviceIdRegisterEvento]);
|
|
44
49
|
const send = new TestSendProvider();
|
|
45
|
-
const appCtx = new AppContext().set("cliCtx", { sthis });
|
|
50
|
+
const appCtx = new AppContext().set("cliCtx", { sthis }).set("deviceIdRegisterDeps", { ...desktopDeps, ...deps });
|
|
46
51
|
const request = {
|
|
47
52
|
type: "msg.cmd-ts",
|
|
48
53
|
cmdTs: { raw, outputFormat: "text" },
|
|
@@ -196,7 +201,7 @@ describe("device-id register — enroll round-trip (Hono callback server)", { ti
|
|
|
196
201
|
describe("device-id register — failure branches", { timeout: 30000 }, () => {
|
|
197
202
|
it("no callback before the deadline ⇒ timeout error (and the browser-open failure is survived)", async () => {
|
|
198
203
|
const sthis = memSthis();
|
|
199
|
-
|
|
204
|
+
opener.failNext = true;
|
|
200
205
|
const { send, done } = startRegister(sthis, { ...baseArgs, timeout: "1" });
|
|
201
206
|
await expect(done).rejects.toThrow("Timeout waiting for certificate from CA (1s).");
|
|
202
207
|
const progress = progressMessages(send);
|
|
@@ -230,4 +235,152 @@ describe("device-id register — failure branches", { timeout: 30000 }, () => {
|
|
|
230
235
|
expect(devid.cert.IsNone()).toBe(true);
|
|
231
236
|
});
|
|
232
237
|
});
|
|
238
|
+
async function rawKeybagItem(sthis) {
|
|
239
|
+
const kb = await getKeyBag(sthis);
|
|
240
|
+
return (await kb.provider()).get(deviceIdKeybagId);
|
|
241
|
+
}
|
|
242
|
+
async function enrollViaCallback(sthis) {
|
|
243
|
+
const openedUrlP = nextOpenUrl();
|
|
244
|
+
const { done } = startRegister(sthis, baseArgs);
|
|
245
|
+
const { certJWT, returnUrl } = await mintCertFromOpenUrl(sthis, await openedUrlP);
|
|
246
|
+
await fetch(`${returnUrl}?cert=${encodeURIComponent(certJWT)}`);
|
|
247
|
+
await done;
|
|
248
|
+
const devid = await (await getKeyBag(sthis)).getDeviceId();
|
|
249
|
+
return { jwk: devid.deviceId.Unwrap(), certJWT, returnUrl };
|
|
250
|
+
}
|
|
251
|
+
async function waitForProgress(send, prefix) {
|
|
252
|
+
for (let i = 0; i < 200; i++) {
|
|
253
|
+
const hit = progressMessages(send).find((m) => m.startsWith(prefix));
|
|
254
|
+
if (hit)
|
|
255
|
+
return hit;
|
|
256
|
+
await new Promise((r) => setTimeout(r, 25));
|
|
257
|
+
}
|
|
258
|
+
throw new Error(`no progress message starting with ${prefix}`);
|
|
259
|
+
}
|
|
260
|
+
function testPaste() {
|
|
261
|
+
const listeners = [];
|
|
262
|
+
let closed = false;
|
|
263
|
+
return {
|
|
264
|
+
source: () => ({
|
|
265
|
+
onLine: (cb) => listeners.push(cb),
|
|
266
|
+
close: () => {
|
|
267
|
+
closed = true;
|
|
268
|
+
},
|
|
269
|
+
}),
|
|
270
|
+
type: (line) => listeners.forEach((l) => l(line)),
|
|
271
|
+
closed: () => closed,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
describe("device-id register — manual --cert completion", { timeout: 30000 }, () => {
|
|
275
|
+
it("--cert <jwt> stores a keybag item identical to the callback path's for the same key + cert", async () => {
|
|
276
|
+
const viaCallback = memSthis();
|
|
277
|
+
const { jwk, certJWT } = await enrollViaCallback(viaCallback);
|
|
278
|
+
const callbackItem = await rawKeybagItem(viaCallback);
|
|
279
|
+
const viaManual = memSthis();
|
|
280
|
+
await (await getKeyBag(viaManual)).setDeviceId(jwk);
|
|
281
|
+
const msg = await startRegister(viaManual, { ...baseArgs, cert: certJWT }).done;
|
|
282
|
+
expect(isResDeviceIdRegister(msg)).toBe(true);
|
|
283
|
+
if (isResDeviceIdRegister(msg)) {
|
|
284
|
+
expect(msg.output).toContain("Registration complete!");
|
|
285
|
+
expect(msg.output).toContain(`Keybag: ${deviceIdKeybagFilePath(viaManual)}`);
|
|
286
|
+
}
|
|
287
|
+
const manualItem = await rawKeybagItem(viaManual);
|
|
288
|
+
expect(manualItem).toEqual(callbackItem);
|
|
289
|
+
expect(JSON.stringify(manualItem)).toBe(JSON.stringify(callbackItem));
|
|
290
|
+
});
|
|
291
|
+
it("--cert accepts the whole failed redirect URL", async () => {
|
|
292
|
+
const viaCallback = memSthis();
|
|
293
|
+
const { jwk, certJWT, returnUrl } = await enrollViaCallback(viaCallback);
|
|
294
|
+
const sthis = memSthis();
|
|
295
|
+
await (await getKeyBag(sthis)).setDeviceId(jwk);
|
|
296
|
+
await startRegister(sthis, { ...baseArgs, cert: `${returnUrl}?cert=${encodeURIComponent(certJWT)}` }).done;
|
|
297
|
+
const devid = await (await getKeyBag(sthis)).getDeviceId();
|
|
298
|
+
expect(devid.cert.Unwrap().certificateJWT).toBe(certJWT);
|
|
299
|
+
});
|
|
300
|
+
it("refuses a cert issued for a different device key, naming both fingerprints", async () => {
|
|
301
|
+
const viaCallback = memSthis();
|
|
302
|
+
const { jwk, certJWT } = await enrollViaCallback(viaCallback);
|
|
303
|
+
const certFingerprint = await (await DeviceIdKey.createFromJWK(jwk)).Ok().fingerPrint();
|
|
304
|
+
const sthis = memSthis();
|
|
305
|
+
const otherKey = await DeviceIdKey.create();
|
|
306
|
+
await (await getKeyBag(sthis)).setDeviceId(await otherKey.exportPrivateJWK());
|
|
307
|
+
const { done } = startRegister(sthis, { ...baseArgs, cert: certJWT });
|
|
308
|
+
await expect(done).rejects.toThrow("Certificate does not match this device's key");
|
|
309
|
+
await expect(done).rejects.toThrow(certFingerprint);
|
|
310
|
+
await expect(done).rejects.toThrow(await otherKey.fingerPrint());
|
|
311
|
+
const devid = await (await getKeyBag(sthis)).getDeviceId();
|
|
312
|
+
expect(devid.cert.IsNone()).toBe(true);
|
|
313
|
+
});
|
|
314
|
+
it("--cert with no pending key ⇒ tells the user to run login first", async () => {
|
|
315
|
+
const sthis = memSthis();
|
|
316
|
+
const { done } = startRegister(sthis, { ...baseArgs, cert: "a.b.c" });
|
|
317
|
+
await expect(done).rejects.toThrow("no pending device key; run vibes-diy login first");
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
describe("device-id register — remote browser waiting", { timeout: 30000 }, () => {
|
|
321
|
+
it("timeout: heartbeat lines while waiting, then the --cert recovery text with the keybag path", async () => {
|
|
322
|
+
const sthis = memSthis();
|
|
323
|
+
const { send, done } = startRegister(sthis, { ...baseArgs, timeout: "1" }, { heartbeatMs: 200 });
|
|
324
|
+
await expect(done).rejects.toThrow("Timeout waiting for certificate from CA (1s).");
|
|
325
|
+
await expect(done).rejects.toThrow("your browser probably can't reach this machine's localhost");
|
|
326
|
+
await expect(done).rejects.toThrow("npx vibes-diy login --cert '<value>'");
|
|
327
|
+
await expect(done).rejects.toThrow(`Your pending device key is kept at ${deviceIdKeybagFilePath(sthis)}.`);
|
|
328
|
+
const heartbeats = progressMessages(send).filter((m) => m.startsWith("Still waiting for the browser callback on http://localhost:"));
|
|
329
|
+
expect(heartbeats.length).toBeGreaterThan(0);
|
|
330
|
+
expect(heartbeats[0]).toMatch(/\/cert \(\d+s left\)…$/);
|
|
331
|
+
});
|
|
332
|
+
it("headless host: no browser launch, URL + manual path first, and a pasted redirect URL completes login", async () => {
|
|
333
|
+
const sthis = memSthis();
|
|
334
|
+
let opened = 0;
|
|
335
|
+
const paste = testPaste();
|
|
336
|
+
const { send, done } = startRegister(sthis, baseArgs, {
|
|
337
|
+
env: { CLAUDECODE: "1" },
|
|
338
|
+
platform: "linux",
|
|
339
|
+
openBrowser: () => {
|
|
340
|
+
opened++;
|
|
341
|
+
return Promise.resolve();
|
|
342
|
+
},
|
|
343
|
+
pasteSource: paste.source,
|
|
344
|
+
});
|
|
345
|
+
const urlLine = await waitForProgress(send, "URL: ");
|
|
346
|
+
const progress = progressMessages(send);
|
|
347
|
+
expect(progress).toContain("\nNot opening a browser (CLAUDECODE is set).");
|
|
348
|
+
expect(progress.join("\n")).toContain("copy the cert= value (or the whole URL) from the address bar and run: npx vibes-diy login --cert '<value>'");
|
|
349
|
+
const { certJWT, returnUrl } = await mintCertFromOpenUrl(sthis, urlLine.slice("URL: ".length).trim());
|
|
350
|
+
paste.type("not a cert");
|
|
351
|
+
paste.type(`${returnUrl}?cert=${encodeURIComponent(certJWT)}`);
|
|
352
|
+
const msg = await done;
|
|
353
|
+
expect(isResDeviceIdRegister(msg)).toBe(true);
|
|
354
|
+
expect(opened).toBe(0);
|
|
355
|
+
expect(paste.closed()).toBe(true);
|
|
356
|
+
expect(progressMessages(send)).toContain("That doesn't look like a certificate — paste the cert= value or the whole URL.");
|
|
357
|
+
const devid = await (await getKeyBag(sthis)).getDeviceId();
|
|
358
|
+
expect(devid.cert.Unwrap().certificateJWT).toBe(certJWT);
|
|
359
|
+
});
|
|
360
|
+
it("a pending key is reused and announced; --force replaces it with a fresh key", async () => {
|
|
361
|
+
const sthis = memSthis();
|
|
362
|
+
const pending = await DeviceIdKey.create();
|
|
363
|
+
const kb = await getKeyBag(sthis);
|
|
364
|
+
await kb.setDeviceId(await pending.exportPrivateJWK());
|
|
365
|
+
const reuse = startRegister(sthis, { ...baseArgs, timeout: "1" });
|
|
366
|
+
await expect(reuse.done).rejects.toThrow("Timeout");
|
|
367
|
+
expect(progressMessages(reuse.send)).toContain(`Reusing unenrolled device key from a previous login attempt (fingerprint ${await pending.fingerPrint()}, keybag ${deviceIdKeybagFilePath(sthis)}). Use --force for a fresh key.`);
|
|
368
|
+
const fresh = startRegister(sthis, { ...baseArgs, timeout: "1", forceRenew: true });
|
|
369
|
+
await expect(fresh.done).rejects.toThrow("Timeout");
|
|
370
|
+
expect(progressMessages(fresh.send)).toContain("Creating new device ID key pair...");
|
|
371
|
+
const after = await kb.getDeviceId();
|
|
372
|
+
const afterKey = (await DeviceIdKey.createFromJWK(after.deviceId.Unwrap())).Ok();
|
|
373
|
+
expect(await afterKey.fingerPrint()).not.toBe(await pending.fingerPrint());
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
describe("deviceIdKeybagFilePath", () => {
|
|
377
|
+
it("names the hashed json file under the keybag dir for a file: keybag", () => {
|
|
378
|
+
const sthis = ensureSuperThis();
|
|
379
|
+
sthis.env.set("FP_KEYBAG_URL", "file:///home/someone/.fireproof/keybag");
|
|
380
|
+
const p = deviceIdKeybagFilePath(sthis);
|
|
381
|
+
expect(p.startsWith("/home/someone/.fireproof/keybag/")).toBe(true);
|
|
382
|
+
expect(p.endsWith(".json")).toBe(true);
|
|
383
|
+
expect(URI.from(`file://${p}`).pathname).toBe(p);
|
|
384
|
+
});
|
|
385
|
+
});
|
|
233
386
|
//# sourceMappingURL=register-integration.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-integration.test.js","sourceRoot":"","sources":["../../jsr/device-id/register-integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register-integration.test.js","sourceRoot":"","sources":["../../jsr/device-id/register-integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import type { KeyBag } from "../keybag/key-bag.js";
|
|
3
|
+
import type { DeviceIdKey } from "./key.js";
|
|
4
|
+
import { type CertificatePayload } from "../types/cert-payload.js";
|
|
5
|
+
export declare const MANUAL_CERT_COMMAND = "npx vibes-diy login --cert '<value>'";
|
|
6
|
+
export declare function extractCertValue(input: string): Result<string>;
|
|
7
|
+
export declare function parseCertJWT(certJWT: string): Result<CertificatePayload>;
|
|
8
|
+
export interface StoreDeviceCertParams {
|
|
9
|
+
readonly keyBag: KeyBag;
|
|
10
|
+
readonly deviceIdKey: DeviceIdKey;
|
|
11
|
+
readonly certJWT: string;
|
|
12
|
+
}
|
|
13
|
+
export interface StoredDeviceCert {
|
|
14
|
+
readonly fingerprint: string;
|
|
15
|
+
readonly certificatePayload: CertificatePayload;
|
|
16
|
+
}
|
|
17
|
+
export declare function storeDeviceCert({ keyBag, deviceIdKey, certJWT }: StoreDeviceCertParams): Promise<Result<StoredDeviceCert>>;
|
|
18
|
+
export interface HeadlessDetectInput {
|
|
19
|
+
readonly env: Readonly<Record<string, string | undefined>>;
|
|
20
|
+
readonly platform: string;
|
|
21
|
+
readonly noBrowser: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface HeadlessDetection {
|
|
24
|
+
readonly headless: boolean;
|
|
25
|
+
readonly reason?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function detectHeadlessBrowser({ env, platform, noBrowser }: HeadlessDetectInput): HeadlessDetection;
|
|
28
|
+
export declare function formatRemaining(seconds: number): string;
|
|
29
|
+
export declare function heartbeatMessage(callbackUrl: string, remainingSeconds: number): string;
|
|
30
|
+
export declare function manualCompletionHint(pasteEnabled: boolean): string;
|
|
31
|
+
export declare function timeoutMessage(timeout: string, keyBagLocation: string): string;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { decodeJwt, calculateJwkThumbprint } from "jose";
|
|
2
|
+
import { URI, Result, exception2Result } from "@adviser/cement";
|
|
3
|
+
import { CertificatePayloadSchema } from "../types/cert-payload.js";
|
|
4
|
+
export const MANUAL_CERT_COMMAND = "npx vibes-diy login --cert '<value>'";
|
|
5
|
+
export function extractCertValue(input) {
|
|
6
|
+
const withoutCommand = input.trim().replace(/^(?:npx\s+)?vibes-diy\s+login\s+--cert(?:=|\s+)/, "");
|
|
7
|
+
const trimmed = withoutCommand.trim().replace(/^['"]+|['"]+$/g, "");
|
|
8
|
+
if (trimmed === "") {
|
|
9
|
+
return Result.Err("empty --cert value");
|
|
10
|
+
}
|
|
11
|
+
if (/^https?:\/\//i.test(trimmed)) {
|
|
12
|
+
const cert = URI.from(trimmed).getParam("cert");
|
|
13
|
+
if (!cert) {
|
|
14
|
+
return Result.Err(`the URL has no cert= parameter: ${trimmed}`);
|
|
15
|
+
}
|
|
16
|
+
return Result.Ok(cert);
|
|
17
|
+
}
|
|
18
|
+
if (trimmed.startsWith("cert=")) {
|
|
19
|
+
const rDecoded = exception2Result(() => decodeURIComponent(trimmed.slice("cert=".length)));
|
|
20
|
+
if (rDecoded.isErr()) {
|
|
21
|
+
return Result.Err(`the cert= value is not valid URL encoding: ${rDecoded.Err().message}`);
|
|
22
|
+
}
|
|
23
|
+
return Result.Ok(rDecoded.Ok());
|
|
24
|
+
}
|
|
25
|
+
return Result.Ok(trimmed);
|
|
26
|
+
}
|
|
27
|
+
export function parseCertJWT(certJWT) {
|
|
28
|
+
return exception2Result(() => CertificatePayloadSchema.parse(decodeJwt(certJWT)));
|
|
29
|
+
}
|
|
30
|
+
export async function storeDeviceCert({ keyBag, deviceIdKey, certJWT }) {
|
|
31
|
+
const rPayload = parseCertJWT(certJWT);
|
|
32
|
+
if (rPayload.isErr()) {
|
|
33
|
+
return Result.Err(rPayload.Err());
|
|
34
|
+
}
|
|
35
|
+
const certificatePayload = rPayload.Ok();
|
|
36
|
+
const fingerprint = await deviceIdKey.fingerPrint();
|
|
37
|
+
const rCertFingerprint = await exception2Result(() => calculateJwkThumbprint(certificatePayload.certificate.subjectPublicKeyInfo, "sha256"));
|
|
38
|
+
if (rCertFingerprint.isErr()) {
|
|
39
|
+
return Result.Err(`Certificate has an unreadable subject public key: ${rCertFingerprint.Err().message}`);
|
|
40
|
+
}
|
|
41
|
+
const certFingerprint = rCertFingerprint.Ok();
|
|
42
|
+
if (certFingerprint !== fingerprint) {
|
|
43
|
+
return Result.Err([
|
|
44
|
+
"Certificate does not match this device's key — refusing to store it.",
|
|
45
|
+
`Certificate key fingerprint: ${certFingerprint}`,
|
|
46
|
+
`Device key fingerprint: ${fingerprint}`,
|
|
47
|
+
"The cert was issued for a different login attempt. Run vibes-diy login again and approve the new URL.",
|
|
48
|
+
].join("\n"));
|
|
49
|
+
}
|
|
50
|
+
const jwkPrivate = await deviceIdKey.exportPrivateJWK();
|
|
51
|
+
await keyBag.setDeviceId(jwkPrivate, { certificateJWT: certJWT, certificatePayload });
|
|
52
|
+
return Result.Ok({ fingerprint, certificatePayload });
|
|
53
|
+
}
|
|
54
|
+
const REMOTE_ENV_KEYS = ["CI", "CLAUDECODE", "CODESPACES", "SSH_CONNECTION", "SSH_TTY"];
|
|
55
|
+
function isSet(v) {
|
|
56
|
+
return v !== undefined && v !== "";
|
|
57
|
+
}
|
|
58
|
+
export function detectHeadlessBrowser({ env, platform, noBrowser }) {
|
|
59
|
+
if (noBrowser) {
|
|
60
|
+
return { headless: true, reason: "--no-browser" };
|
|
61
|
+
}
|
|
62
|
+
const remoteKey = REMOTE_ENV_KEYS.find((k) => isSet(env[k]));
|
|
63
|
+
if (remoteKey) {
|
|
64
|
+
return { headless: true, reason: `${remoteKey} is set` };
|
|
65
|
+
}
|
|
66
|
+
const claudeKey = Object.keys(env).find((k) => k.startsWith("CLAUDE_CODE_") && isSet(env[k]));
|
|
67
|
+
if (claudeKey) {
|
|
68
|
+
return { headless: true, reason: `${claudeKey} is set` };
|
|
69
|
+
}
|
|
70
|
+
if (platform === "linux" && !isSet(env.DISPLAY) && !isSet(env.WAYLAND_DISPLAY)) {
|
|
71
|
+
return { headless: true, reason: "no DISPLAY or WAYLAND_DISPLAY" };
|
|
72
|
+
}
|
|
73
|
+
return { headless: false };
|
|
74
|
+
}
|
|
75
|
+
export function formatRemaining(seconds) {
|
|
76
|
+
const s = Math.max(0, Math.round(seconds));
|
|
77
|
+
if (s >= 120) {
|
|
78
|
+
return `${Math.floor(s / 60)}m`;
|
|
79
|
+
}
|
|
80
|
+
return `${s}s`;
|
|
81
|
+
}
|
|
82
|
+
export function heartbeatMessage(callbackUrl, remainingSeconds) {
|
|
83
|
+
return `Still waiting for the browser callback on ${callbackUrl} (${formatRemaining(remainingSeconds)} left)…`;
|
|
84
|
+
}
|
|
85
|
+
export function manualCompletionHint(pasteEnabled) {
|
|
86
|
+
const lines = [
|
|
87
|
+
"Open this URL in any browser. If that browser is on another machine, the final redirect to localhost will fail —",
|
|
88
|
+
`copy the cert= value (or the whole URL) from the address bar and run: ${MANUAL_CERT_COMMAND}`,
|
|
89
|
+
];
|
|
90
|
+
if (pasteEnabled) {
|
|
91
|
+
lines.push("(or paste it here and press Enter).");
|
|
92
|
+
}
|
|
93
|
+
return lines.join("\n");
|
|
94
|
+
}
|
|
95
|
+
export function timeoutMessage(timeout, keyBagLocation) {
|
|
96
|
+
return [
|
|
97
|
+
`Timeout waiting for certificate from CA (${timeout}s).`,
|
|
98
|
+
"If you approved in the browser, your browser probably can't reach this machine's localhost.",
|
|
99
|
+
`Copy the cert= value from the browser's address bar and run: ${MANUAL_CERT_COMMAND}.`,
|
|
100
|
+
`Your pending device key is kept at ${keyBagLocation}.`,
|
|
101
|
+
].join(" ");
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=register-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-support.js","sourceRoot":"","sources":["../../jsr/device-id/register-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { detectHeadlessBrowser, extractCertValue, formatRemaining, heartbeatMessage, manualCompletionHint, timeoutMessage, } from "./register-support.js";
|
|
3
|
+
const desktop = { platform: "darwin", noBrowser: false };
|
|
4
|
+
describe("detectHeadlessBrowser", () => {
|
|
5
|
+
it("a desktop mac/windows host with no remote markers opens the browser", () => {
|
|
6
|
+
expect(detectHeadlessBrowser({ ...desktop, env: {} })).toEqual({ headless: false });
|
|
7
|
+
expect(detectHeadlessBrowser({ env: {}, platform: "win32", noBrowser: false }).headless).toBe(false);
|
|
8
|
+
});
|
|
9
|
+
it("linux with a DISPLAY or WAYLAND_DISPLAY is a desktop", () => {
|
|
10
|
+
expect(detectHeadlessBrowser({ env: { DISPLAY: ":0" }, platform: "linux", noBrowser: false }).headless).toBe(false);
|
|
11
|
+
expect(detectHeadlessBrowser({ env: { WAYLAND_DISPLAY: "wayland-0" }, platform: "linux", noBrowser: false }).headless).toBe(false);
|
|
12
|
+
});
|
|
13
|
+
it("linux without a display is headless", () => {
|
|
14
|
+
expect(detectHeadlessBrowser({ env: {}, platform: "linux", noBrowser: false })).toEqual({
|
|
15
|
+
headless: true,
|
|
16
|
+
reason: "no DISPLAY or WAYLAND_DISPLAY",
|
|
17
|
+
});
|
|
18
|
+
expect(detectHeadlessBrowser({ env: { DISPLAY: "" }, platform: "linux", noBrowser: false }).headless).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
it.each(["CI", "CLAUDECODE", "CODESPACES", "SSH_CONNECTION", "SSH_TTY"])("%s marks a remote/agent host", (key) => {
|
|
21
|
+
expect(detectHeadlessBrowser({ ...desktop, env: { [key]: "1", DISPLAY: ":0" } })).toEqual({
|
|
22
|
+
headless: true,
|
|
23
|
+
reason: `${key} is set`,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
it("any CLAUDE_CODE_* variable marks an agent host", () => {
|
|
27
|
+
expect(detectHeadlessBrowser({ ...desktop, env: { CLAUDE_CODE_ENTRYPOINT: "cli" } })).toEqual({
|
|
28
|
+
headless: true,
|
|
29
|
+
reason: "CLAUDE_CODE_ENTRYPOINT is set",
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
it("empty markers don't count", () => {
|
|
33
|
+
expect(detectHeadlessBrowser({ ...desktop, env: { CI: "", CLAUDE_CODE_X: "" } }).headless).toBe(false);
|
|
34
|
+
});
|
|
35
|
+
it("--no-browser wins", () => {
|
|
36
|
+
expect(detectHeadlessBrowser({ env: {}, platform: "darwin", noBrowser: true })).toEqual({
|
|
37
|
+
headless: true,
|
|
38
|
+
reason: "--no-browser",
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe("extractCertValue", () => {
|
|
43
|
+
it("passes a raw JWT through, trimming whitespace and shell quotes", () => {
|
|
44
|
+
expect(extractCertValue(" aaa.bbb.ccc \n").Ok()).toBe("aaa.bbb.ccc");
|
|
45
|
+
expect(extractCertValue("'aaa.bbb.ccc'").Ok()).toBe("aaa.bbb.ccc");
|
|
46
|
+
});
|
|
47
|
+
it("pulls cert= out of the failed localhost redirect URL", () => {
|
|
48
|
+
expect(extractCertValue("http://localhost:54321/cert?cert=aaa.bbb.ccc").Ok()).toBe("aaa.bbb.ccc");
|
|
49
|
+
});
|
|
50
|
+
it("accepts a bare cert=… fragment", () => {
|
|
51
|
+
expect(extractCertValue("cert=aaa.bbb.ccc").Ok()).toBe("aaa.bbb.ccc");
|
|
52
|
+
});
|
|
53
|
+
it("strips the CA page's copied command, with or without npx", () => {
|
|
54
|
+
expect(extractCertValue("npx vibes-diy login --cert 'aaa.bbb.ccc'").Ok()).toBe("aaa.bbb.ccc");
|
|
55
|
+
expect(extractCertValue("vibes-diy login --cert 'aaa.bbb.ccc'").Ok()).toBe("aaa.bbb.ccc");
|
|
56
|
+
expect(extractCertValue("vibes-diy login --cert=aaa.bbb.ccc").Ok()).toBe("aaa.bbb.ccc");
|
|
57
|
+
});
|
|
58
|
+
it("returns an Err for a malformed cert= escape instead of throwing", () => {
|
|
59
|
+
expect(extractCertValue("cert=%").isErr()).toBe(true);
|
|
60
|
+
});
|
|
61
|
+
it("rejects empty input and a URL without cert=", () => {
|
|
62
|
+
expect(extractCertValue(" ").isErr()).toBe(true);
|
|
63
|
+
expect(extractCertValue("http://localhost:54321/cert").isErr()).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe("wait/timeout copy", () => {
|
|
67
|
+
it("formats remaining time in minutes when large, seconds when short", () => {
|
|
68
|
+
expect(formatRemaining(3600)).toBe("60m");
|
|
69
|
+
expect(formatRemaining(3570.4)).toBe("59m");
|
|
70
|
+
expect(formatRemaining(119)).toBe("119s");
|
|
71
|
+
expect(formatRemaining(-3)).toBe("0s");
|
|
72
|
+
});
|
|
73
|
+
it("heartbeat names the callback URL and time left", () => {
|
|
74
|
+
expect(heartbeatMessage("http://localhost:4000/cert", 3540)).toBe("Still waiting for the browser callback on http://localhost:4000/cert (59m left)…");
|
|
75
|
+
});
|
|
76
|
+
it("manual hint offers paste only when stdin can take it", () => {
|
|
77
|
+
expect(manualCompletionHint(true)).toContain("paste it here");
|
|
78
|
+
expect(manualCompletionHint(false)).not.toContain("paste it here");
|
|
79
|
+
expect(manualCompletionHint(false)).toContain("npx vibes-diy login --cert '<value>'");
|
|
80
|
+
});
|
|
81
|
+
it("timeout explains the remote-browser case and where the pending key is", () => {
|
|
82
|
+
const m = timeoutMessage("3600", "/home/me/.fireproof/keybag/abc.json");
|
|
83
|
+
expect(m).toContain("Timeout waiting for certificate from CA (3600s).");
|
|
84
|
+
expect(m).toContain("If you approved in the browser, your browser probably can't reach this machine's localhost.");
|
|
85
|
+
expect(m).toContain("Copy the cert= value from the browser's address bar and run: npx vibes-diy login --cert '<value>'.");
|
|
86
|
+
expect(m).toContain("Your pending device key is kept at /home/me/.fireproof/keybag/abc.json.");
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=register-support.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-support.test.js","sourceRoot":"","sources":["../../jsr/device-id/register-support.test.ts"],"names":[],"mappings":"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"}
|
package/device-id/register.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { EventoHandler } from "@adviser/cement";
|
|
2
2
|
import { type WrapCmdTSMsg } from "@vibes.diy/cmd-tools";
|
|
3
|
+
export interface PasteSource {
|
|
4
|
+
onLine(cb: (line: string) => void): void;
|
|
5
|
+
close(): void;
|
|
6
|
+
}
|
|
7
|
+
export interface DeviceIdRegisterDeps {
|
|
8
|
+
readonly openBrowser: (url: string) => Promise<unknown>;
|
|
9
|
+
readonly env: Readonly<Record<string, string | undefined>>;
|
|
10
|
+
readonly platform: string;
|
|
11
|
+
readonly heartbeatMs: number;
|
|
12
|
+
readonly pasteSource: () => PasteSource | undefined;
|
|
13
|
+
}
|
|
3
14
|
export declare const ReqDeviceIdRegister: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
4
15
|
type: "core-cli.device-id-register";
|
|
5
16
|
commonName: string;
|
|
@@ -11,6 +22,8 @@ export declare const ReqDeviceIdRegister: import("arktype/internal/variants/obje
|
|
|
11
22
|
port: string;
|
|
12
23
|
timeout: string;
|
|
13
24
|
forceRenew: boolean;
|
|
25
|
+
cert?: string | undefined;
|
|
26
|
+
noBrowser?: boolean | undefined;
|
|
14
27
|
}, {}>;
|
|
15
28
|
export type ReqDeviceIdRegister = typeof ReqDeviceIdRegister.infer;
|
|
16
29
|
export declare const ResDeviceIdRegister: import("arktype/internal/variants/object.ts").ObjectType<{
|
package/device-id/register.js
CHANGED
|
@@ -1,15 +1,36 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createInterface } from "node:readline";
|
|
2
2
|
import { Hono } from "hono";
|
|
3
3
|
import { serve } from "@hono/node-server";
|
|
4
4
|
import open from "open";
|
|
5
5
|
import { Future, timeouted, isSuccess, isTimeout, BuildURI, Result, Option, loadAsset } from "@adviser/cement";
|
|
6
6
|
import { type } from "arktype";
|
|
7
7
|
import { sendMsg, sendProgress } from "@vibes.diy/cmd-tools";
|
|
8
|
-
import { getKeyBag } from "../keybag/keybag.js";
|
|
8
|
+
import { getKeyBag, deviceIdKeybagFilePath } from "../keybag/keybag.js";
|
|
9
9
|
import { isUnreadableDeviceIdKeybagError } from "../keybag/key-bag.js";
|
|
10
10
|
import { DeviceIdKey } from "./key.js";
|
|
11
11
|
import { DeviceIdCSR } from "./csr.js";
|
|
12
|
-
import {
|
|
12
|
+
import { detectHeadlessBrowser, extractCertValue, heartbeatMessage, manualCompletionHint, parseCertJWT, storeDeviceCert, timeoutMessage, } from "./register-support.js";
|
|
13
|
+
function stdinPasteSource() {
|
|
14
|
+
if (!process.stdin.isTTY) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
const rl = createInterface({ input: process.stdin });
|
|
18
|
+
return {
|
|
19
|
+
onLine: (cb) => {
|
|
20
|
+
rl.on("line", cb);
|
|
21
|
+
},
|
|
22
|
+
close: () => rl.close(),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function defaultDeps(sthis) {
|
|
26
|
+
return {
|
|
27
|
+
openBrowser: (url) => open(url),
|
|
28
|
+
env: Object.fromEntries(sthis.env.keys().map((k) => [k, sthis.env.get(k)])),
|
|
29
|
+
platform: process.platform,
|
|
30
|
+
heartbeatMs: 30_000,
|
|
31
|
+
pasteSource: stdinPasteSource,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
13
34
|
function buildSubject(args) {
|
|
14
35
|
return {
|
|
15
36
|
commonName: args.commonName,
|
|
@@ -30,6 +51,8 @@ export const ReqDeviceIdRegister = type({
|
|
|
30
51
|
port: "string",
|
|
31
52
|
timeout: "string",
|
|
32
53
|
forceRenew: "boolean",
|
|
54
|
+
"cert?": "string",
|
|
55
|
+
"noBrowser?": "boolean",
|
|
33
56
|
});
|
|
34
57
|
export const ResDeviceIdRegister = type({
|
|
35
58
|
type: "'core-cli.res-device-id-register'",
|
|
@@ -38,6 +61,36 @@ export const ResDeviceIdRegister = type({
|
|
|
38
61
|
export function isResDeviceIdRegister(u) {
|
|
39
62
|
return !(ResDeviceIdRegister(u) instanceof type.errors);
|
|
40
63
|
}
|
|
64
|
+
function registrationComplete(fingerprint, keyBagLocation) {
|
|
65
|
+
return {
|
|
66
|
+
type: "core-cli.res-device-id-register",
|
|
67
|
+
output: [
|
|
68
|
+
"\n✓ Registration complete! Certificate successfully stored with Device ID.",
|
|
69
|
+
`Device ID Fingerprint: ${fingerprint}`,
|
|
70
|
+
`Keybag: ${keyBagLocation}`,
|
|
71
|
+
].join("\n"),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async function completeWithManualCert(ctx, { keyBag, keyBagLocation, certInput }) {
|
|
75
|
+
const rCert = extractCertValue(certInput);
|
|
76
|
+
if (rCert.isErr()) {
|
|
77
|
+
return Result.Err(`Invalid --cert value: ${rCert.Err().message}`);
|
|
78
|
+
}
|
|
79
|
+
const existing = await keyBag.getDeviceId();
|
|
80
|
+
if (existing.deviceId.IsNone()) {
|
|
81
|
+
return Result.Err(`no pending device key; run vibes-diy login first (keybag: ${keyBagLocation})`);
|
|
82
|
+
}
|
|
83
|
+
const rKey = await DeviceIdKey.createFromJWK(existing.deviceId.Unwrap());
|
|
84
|
+
if (rKey.isErr()) {
|
|
85
|
+
return Result.Err(`Error loading existing device ID: ${rKey.Err()}`);
|
|
86
|
+
}
|
|
87
|
+
await sendProgress(ctx, "info", "Storing certificate...");
|
|
88
|
+
const rStored = await storeDeviceCert({ keyBag, deviceIdKey: rKey.Ok(), certJWT: rCert.Ok() });
|
|
89
|
+
if (rStored.isErr()) {
|
|
90
|
+
return Result.Err(rStored.Err());
|
|
91
|
+
}
|
|
92
|
+
return sendMsg(ctx, registrationComplete(rStored.Ok().fingerprint, keyBagLocation));
|
|
93
|
+
}
|
|
41
94
|
export const deviceIdRegisterEvento = {
|
|
42
95
|
hash: "core-cli.device-id-register",
|
|
43
96
|
validate: (ctx) => {
|
|
@@ -49,13 +102,22 @@ export const deviceIdRegisterEvento = {
|
|
|
49
102
|
handle: async (ctx) => {
|
|
50
103
|
const cliCtx = ctx.ctx.getOrThrow("cliCtx");
|
|
51
104
|
const sthis = cliCtx.sthis;
|
|
105
|
+
const deps = {
|
|
106
|
+
...defaultDeps(sthis),
|
|
107
|
+
...(ctx.ctx.get("deviceIdRegisterDeps") ?? {}),
|
|
108
|
+
};
|
|
52
109
|
const args = ctx.validated;
|
|
53
110
|
const keyBag = await getKeyBag(sthis);
|
|
111
|
+
const keyBagLocation = deviceIdKeybagFilePath(sthis);
|
|
112
|
+
if (args.cert !== undefined) {
|
|
113
|
+
return completeWithManualCert(ctx, { keyBag, keyBagLocation, certInput: args.cert });
|
|
114
|
+
}
|
|
54
115
|
const existingDeviceIdResult = await keyBag.getDeviceId();
|
|
55
116
|
if (isUnreadableDeviceIdKeybagError(existingDeviceIdResult.error)) {
|
|
56
117
|
await sendProgress(ctx, "warn", "Existing device credential is unreadable or corrupt — re-enrolling with a fresh device ID key.");
|
|
57
118
|
}
|
|
58
|
-
|
|
119
|
+
const hasCert = existingDeviceIdResult.cert.IsSome();
|
|
120
|
+
if (hasCert && !args.forceRenew) {
|
|
59
121
|
const jwk = existingDeviceIdResult.deviceId.Unwrap();
|
|
60
122
|
const deviceIdKey = (await DeviceIdKey.createFromJWK(jwk)).Ok();
|
|
61
123
|
const fingerprint = await deviceIdKey.fingerPrint();
|
|
@@ -63,25 +125,30 @@ export const deviceIdRegisterEvento = {
|
|
|
63
125
|
type: "core-cli.res-device-id-register",
|
|
64
126
|
output: [
|
|
65
127
|
"Device already has a certificate. Registration not needed.",
|
|
66
|
-
"Use --force
|
|
128
|
+
"Use --force to renew the certificate.",
|
|
67
129
|
`Existing Device ID Fingerprint: ${fingerprint}`,
|
|
130
|
+
`Keybag: ${keyBagLocation}`,
|
|
68
131
|
].join("\n"),
|
|
69
132
|
});
|
|
70
133
|
}
|
|
71
|
-
if (args.forceRenew &&
|
|
134
|
+
if (args.forceRenew && hasCert) {
|
|
72
135
|
await sendProgress(ctx, "info", "Force renewing certificate...");
|
|
73
136
|
}
|
|
137
|
+
const discardPending = existingDeviceIdResult.deviceId.IsSome() && !hasCert && args.forceRenew;
|
|
74
138
|
let deviceIdKey;
|
|
75
|
-
if (existingDeviceIdResult.deviceId.IsNone()) {
|
|
139
|
+
if (existingDeviceIdResult.deviceId.IsNone() || discardPending) {
|
|
140
|
+
if (discardPending) {
|
|
141
|
+
await sendProgress(ctx, "info", "--force: discarding the unenrolled device key from a previous login attempt.");
|
|
142
|
+
}
|
|
76
143
|
await sendProgress(ctx, "info", "Creating new device ID key pair...");
|
|
77
144
|
deviceIdKey = await DeviceIdKey.create();
|
|
78
145
|
const jwkPrivate = await deviceIdKey.exportPrivateJWK();
|
|
79
146
|
await keyBag.setDeviceId(jwkPrivate);
|
|
80
147
|
const fingerprint = await deviceIdKey.fingerPrint();
|
|
81
148
|
await sendProgress(ctx, "info", `Created Device ID Fingerprint: ${fingerprint}`);
|
|
149
|
+
await sendProgress(ctx, "info", `Keybag: ${keyBagLocation}`);
|
|
82
150
|
}
|
|
83
151
|
else {
|
|
84
|
-
await sendProgress(ctx, "info", "Using existing device ID key...");
|
|
85
152
|
const jwkPrivate = existingDeviceIdResult.deviceId.Unwrap();
|
|
86
153
|
const createResult = await DeviceIdKey.createFromJWK(jwkPrivate);
|
|
87
154
|
if (createResult.isErr()) {
|
|
@@ -89,7 +156,14 @@ export const deviceIdRegisterEvento = {
|
|
|
89
156
|
}
|
|
90
157
|
deviceIdKey = createResult.Ok();
|
|
91
158
|
const fingerprint = await deviceIdKey.fingerPrint();
|
|
92
|
-
|
|
159
|
+
if (hasCert) {
|
|
160
|
+
await sendProgress(ctx, "info", "Using existing device ID key...");
|
|
161
|
+
await sendProgress(ctx, "info", `Device ID Fingerprint: ${fingerprint}`);
|
|
162
|
+
await sendProgress(ctx, "info", `Keybag: ${keyBagLocation}`);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
await sendProgress(ctx, "info", `Reusing unenrolled device key from a previous login attempt (fingerprint ${fingerprint}, keybag ${keyBagLocation}). Use --force for a fresh key.`);
|
|
166
|
+
}
|
|
93
167
|
}
|
|
94
168
|
await sendProgress(ctx, "info", "Generating Certificate Signing Request (CSR)...");
|
|
95
169
|
const deviceIdCSR = new DeviceIdCSR(sthis, deviceIdKey);
|
|
@@ -133,46 +207,62 @@ export const deviceIdRegisterEvento = {
|
|
|
133
207
|
await sendProgress(ctx, "info", `Started local callback server on port ${port}...`);
|
|
134
208
|
const caUri = BuildURI.from(args.caUrl).setParam("csr", csrJWS).setParam("returnUrl", callbackUrl);
|
|
135
209
|
const caUrlWithParams = caUri.toString();
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
210
|
+
const paste = deps.pasteSource();
|
|
211
|
+
paste?.onLine((line) => {
|
|
212
|
+
if (line.trim() === "") {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const rCert = extractCertValue(line);
|
|
216
|
+
if (rCert.isErr() || parseCertJWT(rCert.Ok()).isErr()) {
|
|
217
|
+
void sendProgress(ctx, "warn", "That doesn't look like a certificate — paste the cert= value or the whole URL.");
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
void sendProgress(ctx, "info", "\nCertificate pasted.");
|
|
221
|
+
certFuture.resolve(rCert.Ok());
|
|
222
|
+
});
|
|
223
|
+
const headless = detectHeadlessBrowser({ env: deps.env, platform: deps.platform, noBrowser: args.noBrowser ?? false });
|
|
224
|
+
if (headless.headless) {
|
|
225
|
+
await sendProgress(ctx, "info", `\nNot opening a browser (${headless.reason}).`);
|
|
226
|
+
await sendProgress(ctx, "info", `URL: ${caUrlWithParams}\n`);
|
|
227
|
+
await sendProgress(ctx, "info", manualCompletionHint(paste !== undefined));
|
|
140
228
|
}
|
|
141
|
-
|
|
142
|
-
await sendProgress(ctx, "
|
|
143
|
-
await sendProgress(ctx, "
|
|
229
|
+
else {
|
|
230
|
+
await sendProgress(ctx, "info", "\nOpening browser to CA for certificate signing...");
|
|
231
|
+
await sendProgress(ctx, "info", `URL: ${caUrlWithParams}\n`);
|
|
232
|
+
try {
|
|
233
|
+
await deps.openBrowser(caUrlWithParams);
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
await sendProgress(ctx, "warn", "Could not automatically open browser. Please open this URL manually:");
|
|
237
|
+
await sendProgress(ctx, "warn", caUrlWithParams);
|
|
238
|
+
await sendProgress(ctx, "info", manualCompletionHint(paste !== undefined));
|
|
239
|
+
}
|
|
144
240
|
}
|
|
145
241
|
await sendProgress(ctx, "info", "Waiting for certificate from CA...");
|
|
146
242
|
await sendProgress(ctx, "info", "(The browser should redirect back to this application after signing)\n");
|
|
147
|
-
const
|
|
148
|
-
const
|
|
243
|
+
const timeoutSeconds = parseInt(args.timeout, 10);
|
|
244
|
+
const deadline = Date.now() + timeoutSeconds * 1000;
|
|
245
|
+
const heartbeat = setInterval(() => {
|
|
246
|
+
void sendProgress(ctx, "info", heartbeatMessage(callbackUrl, (deadline - Date.now()) / 1000));
|
|
247
|
+
}, deps.heartbeatMs);
|
|
248
|
+
const result = await timeouted(certFuture.asPromise(), { timeout: timeoutSeconds * 1000 });
|
|
249
|
+
clearInterval(heartbeat);
|
|
250
|
+
paste?.close();
|
|
149
251
|
serverInstance.close();
|
|
150
252
|
if (!isSuccess(result)) {
|
|
151
253
|
if (isTimeout(result)) {
|
|
152
|
-
return Result.Err(
|
|
254
|
+
return Result.Err(timeoutMessage(args.timeout, keyBagLocation));
|
|
153
255
|
}
|
|
154
256
|
else {
|
|
155
257
|
return Result.Err(`Failed to receive certificate: ${result.state === "error" ? result.error : result}`);
|
|
156
258
|
}
|
|
157
259
|
}
|
|
158
|
-
const receivedCert = result.value;
|
|
159
260
|
await sendProgress(ctx, "info", "Storing certificate...");
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
certificatePayload: certPayload,
|
|
166
|
-
};
|
|
167
|
-
await keyBag.setDeviceId(jwkPrivate, certToStore);
|
|
168
|
-
const fingerprint = await deviceIdKey.fingerPrint();
|
|
169
|
-
return sendMsg(ctx, {
|
|
170
|
-
type: "core-cli.res-device-id-register",
|
|
171
|
-
output: [
|
|
172
|
-
"\n✓ Registration complete! Certificate successfully stored with Device ID.",
|
|
173
|
-
`Device ID Fingerprint: ${fingerprint}`,
|
|
174
|
-
].join("\n"),
|
|
175
|
-
});
|
|
261
|
+
const rStored = await storeDeviceCert({ keyBag, deviceIdKey, certJWT: result.value });
|
|
262
|
+
if (rStored.isErr()) {
|
|
263
|
+
return Result.Err(rStored.Err());
|
|
264
|
+
}
|
|
265
|
+
return sendMsg(ctx, registrationComplete(rStored.Ok().fingerprint, keyBagLocation));
|
|
176
266
|
},
|
|
177
267
|
};
|
|
178
268
|
//# sourceMappingURL=register.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../jsr/device-id/register.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../jsr/device-id/register.ts"],"names":[],"mappings":"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"}
|
package/keybag/key-bag-file.d.ts
CHANGED
package/keybag/key-bag-file.js
CHANGED
|
@@ -9,6 +9,9 @@ function isNotFoundError(e) {
|
|
|
9
9
|
}
|
|
10
10
|
return err?.code === "ENOENT";
|
|
11
11
|
}
|
|
12
|
+
export function keyBagFileName(id) {
|
|
13
|
+
return `${id.replace(/[^a-zA-Z0-9]/g, "_")}.json`;
|
|
14
|
+
}
|
|
12
15
|
export class KeyBagProviderFile {
|
|
13
16
|
url;
|
|
14
17
|
logger;
|
|
@@ -26,7 +29,7 @@ export class KeyBagProviderFile {
|
|
|
26
29
|
return {
|
|
27
30
|
dirName,
|
|
28
31
|
sysFS,
|
|
29
|
-
fName: this.sthis.pathOps.join(dirName,
|
|
32
|
+
fName: this.sthis.pathOps.join(dirName, keyBagFileName(id)),
|
|
30
33
|
};
|
|
31
34
|
}
|
|
32
35
|
async del(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-bag-file.js","sourceRoot":"","sources":["../../jsr/keybag/key-bag-file.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,SAAS,eAAe,CAAC,CAAU;IACjC,IAAI,GAAG,GAAY,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAQ,GAA4C,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAED,MAAM,OAAO,kBAAkB;IACpB,GAAG,CAAM;IACT,MAAM,CAAsB;IAC5B,KAAK,CAAY;IAC1B,YAAY,GAAQ,EAAE,KAAgB;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO;YACL,OAAO;YACP,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"key-bag-file.js","sourceRoot":"","sources":["../../jsr/keybag/key-bag-file.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,SAAS,eAAe,CAAC,CAAU;IACjC,IAAI,GAAG,GAAY,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAQ,GAA4C,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAID,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC;AACpD,CAAC;AAED,MAAM,OAAO,kBAAkB;IACpB,GAAG,CAAM;IACT,MAAM,CAAsB;IAC5B,KAAK,CAAY;IAC1B,YAAY,GAAQ,EAAE,KAAgB;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClC,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,OAAO;YACL,OAAO;YACP,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC;QACvF,CAAC;IACH,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC;QACrF,CAAC;IACH,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,IAAa;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
package/keybag/key-bag.d.ts
CHANGED
package/keybag/key-bag.js
CHANGED
|
@@ -31,7 +31,7 @@ function isProviderReadFailure(e) {
|
|
|
31
31
|
const msg = e instanceof Error ? e.message : String(e);
|
|
32
32
|
return msg.toLowerCase().includes(READ_BAG_FAILED_MARKER);
|
|
33
33
|
}
|
|
34
|
-
const deviceIdKey = hashStringSync("FIREProof:deviceId");
|
|
34
|
+
export const deviceIdKey = hashStringSync("FIREProof:deviceId");
|
|
35
35
|
const namedKeyItemsPerUrl = new Map();
|
|
36
36
|
export class KeyBag {
|
|
37
37
|
rt;
|
package/keybag/key-bag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-bag.js","sourceRoot":"","sources":["../../jsr/keybag/key-bag.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,6BAA6B,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACtC,IAAI,EAAE,wBAAwB;CAC/B,CAAC;KACD,QAAQ,EAAE,CAAC;AAUd,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YAAY,KAAc;QACxB,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,IAAI,GAAG,GAAY,KAAK,CAAC;IACzB,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAK,GAA0B,CAAC,IAAI,KAAK,+BAA+B;YAAE,OAAO,IAAI,CAAC;QACtF,GAAG,GAAI,GAA2B,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAOD,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAEjD,SAAS,qBAAqB,CAAC,CAAU;IACvC,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAC5D,CAAC;AAeD,MAAM,WAAW,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"key-bag.js","sourceRoot":"","sources":["../../jsr/keybag/key-bag.ts"],"names":[],"mappings":"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"}
|
package/keybag/keybag.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { URI } from "@adviser/cement";
|
|
|
2
2
|
import type { SuperThis } from "../types/sthis.js";
|
|
3
3
|
import { KeyBag } from "./key-bag.js";
|
|
4
4
|
export declare function defaultKeyBagUrl(sthis: SuperThis): URI;
|
|
5
|
+
export declare function deviceIdKeybagFilePath(sthis: SuperThis): string;
|
|
5
6
|
export declare function getKeyBag(sthis: SuperThis, kbo?: {
|
|
6
7
|
readonly url?: URI | string;
|
|
7
8
|
}): Promise<KeyBag>;
|
package/keybag/keybag.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { URI, runtimeFn, KeyedResolvOnce } from "@adviser/cement";
|
|
2
|
-
import { KeyBag } from "./key-bag.js";
|
|
3
|
-
import { KeyBagProviderFile } from "./key-bag-file.js";
|
|
2
|
+
import { KeyBag, deviceIdKey } from "./key-bag.js";
|
|
3
|
+
import { KeyBagProviderFile, keyBagFileName } from "./key-bag-file.js";
|
|
4
4
|
import { KeyBagProviderMemory } from "./key-bag-memory.js";
|
|
5
5
|
const keyBagProviderFactories = new Map([
|
|
6
6
|
{
|
|
@@ -30,6 +30,13 @@ export function defaultKeyBagUrl(sthis) {
|
|
|
30
30
|
}
|
|
31
31
|
return url;
|
|
32
32
|
}
|
|
33
|
+
export function deviceIdKeybagFilePath(sthis) {
|
|
34
|
+
const url = defaultKeyBagUrl(sthis);
|
|
35
|
+
if (url.protocol !== "file:") {
|
|
36
|
+
return url.toString();
|
|
37
|
+
}
|
|
38
|
+
return sthis.pathOps.join(url.pathname, keyBagFileName(deviceIdKey));
|
|
39
|
+
}
|
|
33
40
|
function defaultKeyBagOpts(sthis, kbo) {
|
|
34
41
|
const url = kbo.url ? URI.from(kbo.url) : defaultKeyBagUrl(sthis);
|
|
35
42
|
const kitem = keyBagProviderFactories.get(url.protocol);
|
package/keybag/keybag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keybag.js","sourceRoot":"","sources":["../../jsr/keybag/keybag.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,MAAM,EAA2C,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"keybag.js","sourceRoot":"","sources":["../../jsr/keybag/keybag.ts"],"names":[],"mappings":"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"}
|
package/node.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { JWKPrivate } from "./types/wire.js";
|
|
|
4
4
|
import type { DeviceIdKeyBagItem } from "./types/keybag-item.js";
|
|
5
5
|
import type { CertificatePayload } from "./types/cert-payload.js";
|
|
6
6
|
import type { DashAuthType } from "./dash-api/protocols-dashboard/index.js";
|
|
7
|
-
export { getKeyBag } from "./keybag/keybag.js";
|
|
7
|
+
export { getKeyBag, deviceIdKeybagFilePath } from "./keybag/keybag.js";
|
|
8
8
|
export { DeviceIdKeybagUnreadableError, isUnreadableDeviceIdKeybagError } from "./keybag/key-bag.js";
|
|
9
9
|
export declare function deviceIdKeybagReEnrollMessage(opts?: {
|
|
10
10
|
readonly headlessEnvVar?: string;
|
|
@@ -15,6 +15,7 @@ export { DeviceIdCSR } from "./device-id/csr.js";
|
|
|
15
15
|
export { DeviceIdVerifyMsg } from "./device-id/verify.js";
|
|
16
16
|
export { DeviceIdCA } from "./device-id/ca.js";
|
|
17
17
|
export { deviceIdRegisterEvento, isResDeviceIdRegister } from "./device-id/register.js";
|
|
18
|
+
export { detectHeadlessBrowser, extractCertValue, storeDeviceCert } from "./device-id/register-support.js";
|
|
18
19
|
export type { ReqDeviceIdRegister } from "./device-id/register.js";
|
|
19
20
|
export type { CertificatePayload } from "./types/cert-payload.js";
|
|
20
21
|
export declare function clerkUserIdFromCertPayload(payload: CertificatePayload | undefined): string | undefined;
|
package/node.js
CHANGED
|
@@ -5,7 +5,7 @@ import { getKeyBag } from "./keybag/keybag.js";
|
|
|
5
5
|
import { isUnreadableDeviceIdKeybagError } from "./keybag/key-bag.js";
|
|
6
6
|
import { DeviceIdKey } from "./device-id/key.js";
|
|
7
7
|
import { DeviceIdSignMsg } from "./device-id/sign.js";
|
|
8
|
-
export { getKeyBag } from "./keybag/keybag.js";
|
|
8
|
+
export { getKeyBag, deviceIdKeybagFilePath } from "./keybag/keybag.js";
|
|
9
9
|
export { DeviceIdKeybagUnreadableError, isUnreadableDeviceIdKeybagError } from "./keybag/key-bag.js";
|
|
10
10
|
export function deviceIdKeybagReEnrollMessage(opts) {
|
|
11
11
|
const headless = opts?.headlessEnvVar ? `, or set ${opts.headlessEnvVar} for headless auth` : "";
|
|
@@ -17,6 +17,7 @@ export { DeviceIdCSR } from "./device-id/csr.js";
|
|
|
17
17
|
export { DeviceIdVerifyMsg } from "./device-id/verify.js";
|
|
18
18
|
export { DeviceIdCA } from "./device-id/ca.js";
|
|
19
19
|
export { deviceIdRegisterEvento, isResDeviceIdRegister } from "./device-id/register.js";
|
|
20
|
+
export { detectHeadlessBrowser, extractCertValue, storeDeviceCert } from "./device-id/register-support.js";
|
|
20
21
|
export function clerkUserIdFromCertPayload(payload) {
|
|
21
22
|
const creatingUser = payload?.creatingUser;
|
|
22
23
|
if (creatingUser === undefined || creatingUser.type !== "clerk")
|
package/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../jsr/node.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQtD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../jsr/node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/identity",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.189",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@adviser/ts-xxhash": "~1.0.2",
|
|
20
20
|
"@clerk/shared": "~4.40.0",
|
|
21
21
|
"@hono/node-server": "~2.1.4",
|
|
22
|
-
"@vibes.diy/cmd-tools": "14.3.
|
|
22
|
+
"@vibes.diy/cmd-tools": "14.3.189",
|
|
23
23
|
"arktype": "~2.2.8",
|
|
24
24
|
"hono": "~4.13.9",
|
|
25
25
|
"jose": "~6.2.12",
|