signet-protocol 1.2.3 → 1.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"qr-router.d.ts","sourceRoot":"","sources":["../src/qr-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAsFxC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA4I9C"}
1
+ {"version":3,"file":"qr-router.d.ts","sourceRoot":"","sources":["../src/qr-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wCAAwC;AACxC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAoGxC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA4I9C"}
package/dist/qr-router.js CHANGED
@@ -81,6 +81,17 @@ function isValidAuthRequest(obj) {
81
81
  if (!isValidWssUrl(obj.relay))
82
82
  return false;
83
83
  }
84
+ if (obj.sessionPubkey !== undefined) {
85
+ if (typeof obj.sessionPubkey !== 'string' || !/^[0-9a-f]{64}$/i.test(obj.sessionPubkey))
86
+ return false;
87
+ // Gift-wrap is non-optional when relay delivery is in play — reject
88
+ // sessionPubkey without a matching relay (and vice versa).
89
+ if (obj.relay === undefined)
90
+ return false;
91
+ }
92
+ else if (obj.relay !== undefined) {
93
+ return false;
94
+ }
84
95
  return true;
85
96
  }
86
97
  /** Validate that a parsed object is a well-formed LoginRequest */
@@ -118,6 +129,15 @@ function isValidLoginRequest(obj) {
118
129
  if (!isValidWssUrl(obj.relay))
119
130
  return false;
120
131
  }
132
+ if (obj.sessionPubkey !== undefined) {
133
+ if (typeof obj.sessionPubkey !== 'string' || !/^[0-9a-f]{64}$/i.test(obj.sessionPubkey))
134
+ return false;
135
+ if (obj.relay === undefined)
136
+ return false;
137
+ }
138
+ else if (obj.relay !== undefined) {
139
+ return false;
140
+ }
121
141
  if (obj.requiredAgeRange !== undefined) {
122
142
  if (typeof obj.requiredAgeRange !== 'string' || !VALID_AGE_RANGES.includes(obj.requiredAgeRange))
123
143
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"qr-router.js","sourceRoot":"","sources":["../src/qr-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qr-router.js","sourceRoot":"","sources":["../src/qr-router.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,29 @@
5
5
  * rejections, and auth responses. The consuming application signs these
6
6
  * with the user's signing backend and publishes to relays.
7
7
  */
8
- import type { UnsignedEvent } from './types.js';
8
+ import type { NostrEvent, UnsignedEvent } from './types.js';
9
9
  import type { VerifyResponse } from './presentation.js';
10
- /** Auth response payload published via relay (cross-device flow). */
10
+ /**
11
+ * Auth response payload published via relay (cross-device flow).
12
+ *
13
+ * Contains the full signed Kind-21236 auth event rather than a raw signature,
14
+ * so the ceremony is compatible with every Nostr signer backend — local,
15
+ * NIP-46 bunker, and NIP-07 browser-extension — each of which exposes
16
+ * `signEvent` but never raw-byte signing.
17
+ *
18
+ * Consumers verify by:
19
+ * 1. Recomputing `authEvent.id` from its canonical serialisation.
20
+ * 2. Checking the recomputed id matches `authEvent.id`.
21
+ * 3. Schnorr-verifying `authEvent.sig` over `authEvent.id` with `authEvent.pubkey`.
22
+ * 4. Asserting `authEvent.kind === 21236`.
23
+ * 5. Asserting `authEvent.tags` contains the expected `challenge` and `origin`.
24
+ */
11
25
  export interface AuthResponse {
12
26
  type: 'signet-auth-response';
27
+ /** The challenge issued by the consumer. Also the correlation key on the relay subscription. */
13
28
  requestId: string;
14
- pubkey: string;
15
- /** Schnorr signature of the challenge string using the user's active private key */
16
- signature: string;
29
+ /** The signed Kind-21236 auth event — this is the cryptographic proof. */
30
+ authEvent: NostrEvent;
17
31
  /** Optional credential (included for signet-login-request flows) */
18
32
  credential?: {
19
33
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"relay-events.d.ts","sourceRoot":"","sources":["../src/relay-events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACb,aAAa,CAoBf;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,aAAa,CAWf;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,GACb,aAAa,CAWf"}
1
+ {"version":3,"file":"relay-events.d.ts","sourceRoot":"","sources":["../src/relay-events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,gGAAgG;IAChG,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,SAAS,EAAE,UAAU,CAAC;IACtB,oEAAoE;IACpE,UAAU,CAAC,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACb,aAAa,CAoBf;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,aAAa,CAWf;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,GACb,aAAa,CAWf"}
@@ -1 +1 @@
1
- {"version":3,"file":"relay-events.js","sourceRoot":"","sources":["../src/relay-events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAwB,EACxB,MAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,OAAO;QACL,IAAI,EAAE,KAAK;QACX,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE;YACJ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC/B,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC,QAAQ,EAAE,UAAU,CAAC;YACtB,CAAC,WAAW,EAAE,QAAQ,CAAC;YACvB,CAAC,MAAM,EAAE,IAAI,CAAC;YACd,CAAC,aAAa,EAAE,UAAU,CAAC;SAC5B;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,KAAK;QACX,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE;YACJ,CAAC,SAAS,EAAE,SAAS,CAAC;YACtB,CAAC,QAAQ,EAAE,UAAU,CAAC;SACvB;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAsB,EACtB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,KAAK;QACX,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE;YACJ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC/B,CAAC,QAAQ,EAAE,UAAU,CAAC;SACvB;QACD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"relay-events.js","sourceRoot":"","sources":["../src/relay-events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAwB,EACxB,MAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,OAAO;QACL,IAAI,EAAE,KAAK;QACX,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE;YACJ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC/B,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC,QAAQ,EAAE,UAAU,CAAC;YACtB,CAAC,WAAW,EAAE,QAAQ,CAAC;YACvB,CAAC,MAAM,EAAE,IAAI,CAAC;YACd,CAAC,aAAa,EAAE,UAAU,CAAC;SAC5B;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAiB,EACjB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,KAAK;QACX,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE;YACJ,CAAC,SAAS,EAAE,SAAS,CAAC;YACtB,CAAC,QAAQ,EAAE,UAAU,CAAC;SACvB;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAsB,EACtB,MAAc;IAEd,OAAO;QACL,IAAI,EAAE,KAAK;QACX,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACzC,IAAI,EAAE;YACJ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;YAC/B,CAAC,QAAQ,EAAE,UAAU,CAAC;SACvB;QACD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;KAClC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"url-auth.d.ts","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAcnD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA+CtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIzD"}
1
+ {"version":3,"file":"url-auth.d.ts","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAmBnD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAoEtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,CAQR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIzD"}
package/dist/url-auth.js CHANGED
@@ -19,6 +19,10 @@ function isValidAuthUrl(url) {
19
19
  return false;
20
20
  }
21
21
  }
22
+ /** Check if a URL is wss:// or ws://localhost (dev). Used for relay delivery mode. */
23
+ function isValidRelayUrl(url) {
24
+ return /^wss:\/\//i.test(url) || /^ws:\/\/(localhost|127\.0\.0\.1)([:\/]|$)/i.test(url);
25
+ }
22
26
  /**
23
27
  * Parse URL auth params from a query string (e.g. window.location.search).
24
28
  * Returns a LoginRequest compatible with the approval flow,
@@ -64,7 +68,26 @@ export function parseUrlAuthParams(search) {
64
68
  const timestamp = parseInt(timestampParam, 10);
65
69
  if (isNaN(timestamp) || Math.abs(Date.now() / 1000 - timestamp) > 300)
66
70
  return null;
67
- return {
71
+ // Optional cross-device relay delivery params.
72
+ // Both must be present together — gift-wrap is non-optional in relay mode,
73
+ // so a relay URL without a session pubkey (or vice versa) is rejected.
74
+ const relayParam = params.get('relay');
75
+ const sessionPubkeyParam = params.get('sessionPubkey');
76
+ let relay;
77
+ let sessionPubkey;
78
+ if (relayParam !== null || sessionPubkeyParam !== null) {
79
+ if (!relayParam || !sessionPubkeyParam)
80
+ return null;
81
+ if (relayParam.length > 1024)
82
+ return null;
83
+ if (!isValidRelayUrl(relayParam))
84
+ return null;
85
+ if (!/^[0-9a-f]{64}$/i.test(sessionPubkeyParam))
86
+ return null;
87
+ relay = relayParam;
88
+ sessionPubkey = sessionPubkeyParam.toLowerCase();
89
+ }
90
+ const result = {
68
91
  type: 'signet-login-request',
69
92
  requestId: normalizedChallenge, // use challenge as requestId for URL auth
70
93
  challenge: normalizedChallenge,
@@ -72,6 +95,11 @@ export function parseUrlAuthParams(search) {
72
95
  callbackUrl: callback,
73
96
  timestamp,
74
97
  };
98
+ if (relay !== undefined)
99
+ result.relay = relay;
100
+ if (sessionPubkey !== undefined)
101
+ result.sessionPubkey = sessionPubkey;
102
+ return result;
75
103
  }
76
104
  /**
77
105
  * Build the callback redirect URL after successful auth.
@@ -1 +1 @@
1
- {"version":3,"file":"url-auth.js","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url-auth.js","sourceRoot":"","sources":["../src/url-auth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signet-protocol",
3
- "version": "1.2.3",
3
+ "version": "1.6.0",
4
4
  "description": "Decentralised identity verification protocol for Nostr",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/qr-router.ts CHANGED
@@ -93,6 +93,14 @@ function isValidAuthRequest(obj: Record<string, unknown>): obj is Record<string,
93
93
  if (typeof obj.relay !== 'string' || obj.relay.length > 1024) return false;
94
94
  if (!isValidWssUrl(obj.relay)) return false;
95
95
  }
96
+ if (obj.sessionPubkey !== undefined) {
97
+ if (typeof obj.sessionPubkey !== 'string' || !/^[0-9a-f]{64}$/i.test(obj.sessionPubkey)) return false;
98
+ // Gift-wrap is non-optional when relay delivery is in play — reject
99
+ // sessionPubkey without a matching relay (and vice versa).
100
+ if (obj.relay === undefined) return false;
101
+ } else if (obj.relay !== undefined) {
102
+ return false;
103
+ }
96
104
  return true;
97
105
  }
98
106
 
@@ -117,6 +125,12 @@ function isValidLoginRequest(obj: Record<string, unknown>): obj is Record<string
117
125
  if (typeof obj.relay !== 'string' || obj.relay.length > 1024) return false;
118
126
  if (!isValidWssUrl(obj.relay)) return false;
119
127
  }
128
+ if (obj.sessionPubkey !== undefined) {
129
+ if (typeof obj.sessionPubkey !== 'string' || !/^[0-9a-f]{64}$/i.test(obj.sessionPubkey)) return false;
130
+ if (obj.relay === undefined) return false;
131
+ } else if (obj.relay !== undefined) {
132
+ return false;
133
+ }
120
134
  if (obj.requiredAgeRange !== undefined) {
121
135
  if (typeof obj.requiredAgeRange !== 'string' || !(VALID_AGE_RANGES as readonly string[]).includes(obj.requiredAgeRange)) return false;
122
136
  }
@@ -6,16 +6,30 @@
6
6
  * with the user's signing backend and publishes to relays.
7
7
  */
8
8
 
9
- import type { UnsignedEvent } from './types.js';
9
+ import type { NostrEvent, UnsignedEvent } from './types.js';
10
10
  import type { VerifyResponse } from './presentation.js';
11
11
 
12
- /** Auth response payload published via relay (cross-device flow). */
12
+ /**
13
+ * Auth response payload published via relay (cross-device flow).
14
+ *
15
+ * Contains the full signed Kind-21236 auth event rather than a raw signature,
16
+ * so the ceremony is compatible with every Nostr signer backend — local,
17
+ * NIP-46 bunker, and NIP-07 browser-extension — each of which exposes
18
+ * `signEvent` but never raw-byte signing.
19
+ *
20
+ * Consumers verify by:
21
+ * 1. Recomputing `authEvent.id` from its canonical serialisation.
22
+ * 2. Checking the recomputed id matches `authEvent.id`.
23
+ * 3. Schnorr-verifying `authEvent.sig` over `authEvent.id` with `authEvent.pubkey`.
24
+ * 4. Asserting `authEvent.kind === 21236`.
25
+ * 5. Asserting `authEvent.tags` contains the expected `challenge` and `origin`.
26
+ */
13
27
  export interface AuthResponse {
14
28
  type: 'signet-auth-response';
29
+ /** The challenge issued by the consumer. Also the correlation key on the relay subscription. */
15
30
  requestId: string;
16
- pubkey: string;
17
- /** Schnorr signature of the challenge string using the user's active private key */
18
- signature: string;
31
+ /** The signed Kind-21236 auth event — this is the cryptographic proof. */
32
+ authEvent: NostrEvent;
19
33
  /** Optional credential (included for signet-login-request flows) */
20
34
  credential?: {
21
35
  id: string;
package/src/url-auth.ts CHANGED
@@ -20,6 +20,11 @@ function isValidAuthUrl(url: string): boolean {
20
20
  }
21
21
  }
22
22
 
23
+ /** Check if a URL is wss:// or ws://localhost (dev). Used for relay delivery mode. */
24
+ function isValidRelayUrl(url: string): boolean {
25
+ return /^wss:\/\//i.test(url) || /^ws:\/\/(localhost|127\.0\.0\.1)([:\/]|$)/i.test(url);
26
+ }
27
+
23
28
  /**
24
29
  * Parse URL auth params from a query string (e.g. window.location.search).
25
30
  * Returns a LoginRequest compatible with the approval flow,
@@ -64,7 +69,25 @@ export function parseUrlAuthParams(search: string): LoginRequest | null {
64
69
  const timestamp = parseInt(timestampParam, 10);
65
70
  if (isNaN(timestamp) || Math.abs(Date.now() / 1000 - timestamp) > 300) return null;
66
71
 
67
- return {
72
+ // Optional cross-device relay delivery params.
73
+ // Both must be present together — gift-wrap is non-optional in relay mode,
74
+ // so a relay URL without a session pubkey (or vice versa) is rejected.
75
+ const relayParam = params.get('relay');
76
+ const sessionPubkeyParam = params.get('sessionPubkey');
77
+
78
+ let relay: string | undefined;
79
+ let sessionPubkey: string | undefined;
80
+
81
+ if (relayParam !== null || sessionPubkeyParam !== null) {
82
+ if (!relayParam || !sessionPubkeyParam) return null;
83
+ if (relayParam.length > 1024) return null;
84
+ if (!isValidRelayUrl(relayParam)) return null;
85
+ if (!/^[0-9a-f]{64}$/i.test(sessionPubkeyParam)) return null;
86
+ relay = relayParam;
87
+ sessionPubkey = sessionPubkeyParam.toLowerCase();
88
+ }
89
+
90
+ const result: LoginRequest = {
68
91
  type: 'signet-login-request',
69
92
  requestId: normalizedChallenge, // use challenge as requestId for URL auth
70
93
  challenge: normalizedChallenge,
@@ -72,6 +95,9 @@ export function parseUrlAuthParams(search: string): LoginRequest | null {
72
95
  callbackUrl: callback,
73
96
  timestamp,
74
97
  };
98
+ if (relay !== undefined) result.relay = relay;
99
+ if (sessionPubkey !== undefined) result.sessionPubkey = sessionPubkey;
100
+ return result;
75
101
  }
76
102
 
77
103
  /**