@bitspark/archon-server 0.12.0 → 0.14.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.
@@ -85,4 +85,31 @@ export declare class Enroller {
85
85
  /** Complete the enrollment `transaction` names, under `authorization`, with `proof`. Returns
86
86
  * the completed record; throws an EnrollmentRefusal. */
87
87
  complete(transaction: Uint8Array, proof: Uint8Array, authorization: Uint8Array): Promise<EnrollmentRecord>;
88
+ /**
89
+ * An intent in format 1 (docs/enroll.md §2) with a fresh blind from this enroller's entropy.
90
+ * `accountId` is the service's identifier for the account; `accountName` is the account's
91
+ * unique name, such as its sign-in handle, never a display name its holder chooses freely.
92
+ * Build both from the account the validated session or credential authorizes, never from a
93
+ * label the browser sent.
94
+ *
95
+ * Pass the bytes to `prepare` as `intent` with `purpose` set to the same purpose, and persist
96
+ * them beside the record: `challengeToken` needs them again.
97
+ */
98
+ intent(fields: {
99
+ accountId: string;
100
+ accountName: string;
101
+ purpose: string;
102
+ restrictions?: string[];
103
+ }): Uint8Array;
104
+ /**
105
+ * The challenge token for `record` (docs/enroll.md §3): the configured audience, the record's
106
+ * transaction, nonce and new key, `intent`, and the record's expiry rounded down to the
107
+ * second. `intent` is the bytes passed to `prepare` for `record`.
108
+ *
109
+ * Refuses intent bytes whose SHA-256 is not the record's intent digest, an intent not in
110
+ * format 1, and an intent whose purpose is not the record's: `archon enroll` binds the intent's
111
+ * purpose and the digest of the bytes it shows, so a proof over any of those would never
112
+ * verify.
113
+ */
114
+ challengeToken(record: EnrollmentRecord, intent: Uint8Array): Promise<string>;
88
115
  }
@@ -26,7 +26,7 @@
26
26
  //
27
27
  // archon defines no enrollment route. The service mounts completion wherever it serves its
28
28
  // accounts, behind its own session and CSRF protection.
29
- import { ENROLL_DIGEST_SIZE, ENROLL_MAX_TRANSACTION_SIZE, MIN_NONCE_SIZE, enrollBinding, verifyEnroll } from "@bitspark/archon-sdk";
29
+ import { ENROLL_DIGEST_SIZE, ENROLL_MAX_TRANSACTION_SIZE, ENROLL_MIN_BLIND_SIZE, MIN_NONCE_SIZE, decodeEnrollIntent, encodeEnrollChallenge, encodeEnrollIntent, enrollBinding, verifyEnroll, } from "@bitspark/archon-sdk";
30
30
  /** How long a pending enrollment lives, in seconds, when the config names no ttl. */
31
31
  export const ENROLL_DEFAULT_TTL_SECONDS = 300;
32
32
  /** The generated transaction id's and nonce's size: the possession scheme's floor, and enough
@@ -153,5 +153,55 @@ export class Enroller {
153
153
  throw new EnrollmentRefusal(409, "enroll: already completed or no longer eligible");
154
154
  throw new EnrollmentRefusal(503, "enroll: the integration cannot complete");
155
155
  }
156
+ // The service's half of `archon enroll`'s formats (docs/enroll.md §2–§3, §6; ADR 0013).
157
+ // Verification and completion never read the intent; only these helpers and the command do.
158
+ /**
159
+ * An intent in format 1 (docs/enroll.md §2) with a fresh blind from this enroller's entropy.
160
+ * `accountId` is the service's identifier for the account; `accountName` is the account's
161
+ * unique name, such as its sign-in handle, never a display name its holder chooses freely.
162
+ * Build both from the account the validated session or credential authorizes, never from a
163
+ * label the browser sent.
164
+ *
165
+ * Pass the bytes to `prepare` as `intent` with `purpose` set to the same purpose, and persist
166
+ * them beside the record: `challengeToken` needs them again.
167
+ */
168
+ intent(fields) {
169
+ return encodeEnrollIntent({
170
+ blind: this.#entropy(ENROLL_MIN_BLIND_SIZE).slice(),
171
+ accountId: fields.accountId,
172
+ accountName: fields.accountName,
173
+ purpose: fields.purpose,
174
+ restrictions: fields.restrictions ?? [],
175
+ });
176
+ }
177
+ /**
178
+ * The challenge token for `record` (docs/enroll.md §3): the configured audience, the record's
179
+ * transaction, nonce and new key, `intent`, and the record's expiry rounded down to the
180
+ * second. `intent` is the bytes passed to `prepare` for `record`.
181
+ *
182
+ * Refuses intent bytes whose SHA-256 is not the record's intent digest, an intent not in
183
+ * format 1, and an intent whose purpose is not the record's: `archon enroll` binds the intent's
184
+ * purpose and the digest of the bytes it shows, so a proof over any of those would never
185
+ * verify.
186
+ */
187
+ async challengeToken(record, intent) {
188
+ // slice(): an ArrayBuffer-backed copy, which is what subtle.digest's BufferSource admits.
189
+ const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", intent.slice()));
190
+ if (!equal(digest, record.intentDigest)) {
191
+ throw new Error("enroll: these intent bytes are not the record's: their SHA-256 differs from its intent digest");
192
+ }
193
+ const decoded = decodeEnrollIntent(intent);
194
+ if (decoded.purpose !== record.purpose) {
195
+ throw new Error(`enroll: the intent's purpose ${JSON.stringify(decoded.purpose)} is not the record's ${JSON.stringify(record.purpose)}; pass prepare the intent's purpose`);
196
+ }
197
+ return encodeEnrollChallenge({
198
+ audience: this.#audience,
199
+ transaction: record.transaction,
200
+ nonce: record.nonce,
201
+ newKey: record.newKey,
202
+ intent,
203
+ deadline: Math.floor(record.expires),
204
+ });
205
+ }
156
206
  }
157
207
  //# sourceMappingURL=enroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../../src/enroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../../src/enroll.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitspark/archon-server",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "archon's service side: the login handler (four routes, law-free, store-minimal), the request profile's verifier with its replay store, and key enrollment's server half. Fetch-style; opens no socket.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -22,8 +22,8 @@
22
22
  "test": "tsc -p tsconfig.json && node --test dist/test/*.test.js"
23
23
  },
24
24
  "dependencies": {
25
- "@bitspark/archon": "^0.12.0",
26
- "@bitspark/archon-sdk": "^0.12.0"
25
+ "@bitspark/archon": "^0.14.0",
26
+ "@bitspark/archon-sdk": "^0.14.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^26",