@openkey/sdk 0.10.2 → 0.11.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.
- package/dist/index.d.mts +16 -2
- package/dist/index.d.ts +16 -2
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -141,8 +141,9 @@ var NostrFrame = class {
|
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
143
|
var OpenKeyNostr = class {
|
|
144
|
-
constructor(host) {
|
|
144
|
+
constructor(host, passkeysSupported = true) {
|
|
145
145
|
this.host = host;
|
|
146
|
+
this.passkeysSupported = passkeysSupported;
|
|
146
147
|
}
|
|
147
148
|
/**
|
|
148
149
|
* Get-or-create the user's OpenKey-custodied Nostr identity. Always shows
|
|
@@ -185,7 +186,8 @@ var OpenKeyNostr = class {
|
|
|
185
186
|
}
|
|
186
187
|
widgetUrl() {
|
|
187
188
|
const origin = encodeURIComponent(window.location.origin);
|
|
188
|
-
|
|
189
|
+
const passkeysFlag = this.passkeysSupported ? "" : "&passkeys=false";
|
|
190
|
+
return `${this.host}/widget/embed/nostr/approve?origin=${origin}${passkeysFlag}`;
|
|
189
191
|
}
|
|
190
192
|
run(url, request, onData) {
|
|
191
193
|
return new Promise((resolve, reject) => {
|
|
@@ -229,6 +231,9 @@ var OpenKeyNostr = class {
|
|
|
229
231
|
};
|
|
230
232
|
|
|
231
233
|
// src/index.ts
|
|
234
|
+
function passkeysQueryFlag(passkeysSupported) {
|
|
235
|
+
return passkeysSupported ? "" : "&passkeys=false";
|
|
236
|
+
}
|
|
232
237
|
var DEFAULT_HOST = "https://openkey.so";
|
|
233
238
|
var POPUP_WIDTH = 400;
|
|
234
239
|
var POPUP_HEIGHT = 600;
|
|
@@ -548,6 +553,7 @@ var OpenKey = class {
|
|
|
548
553
|
oauthHost;
|
|
549
554
|
appName;
|
|
550
555
|
mode;
|
|
556
|
+
passkeysSupported;
|
|
551
557
|
config;
|
|
552
558
|
popup = null;
|
|
553
559
|
lastAuth = null;
|
|
@@ -568,7 +574,8 @@ var OpenKey = class {
|
|
|
568
574
|
this.oauthHost = config.oauthHost || this.deriveOAuthHost(this.host);
|
|
569
575
|
this.appName = config.appName || window.location.hostname;
|
|
570
576
|
this.mode = config.mode ?? "iframe";
|
|
571
|
-
this.
|
|
577
|
+
this.passkeysSupported = config.passkeysSupported ?? true;
|
|
578
|
+
this.nostr = new OpenKeyNostr(this.host, this.passkeysSupported);
|
|
572
579
|
if (typeof window !== "undefined") {
|
|
573
580
|
this.discoveredProviders = [];
|
|
574
581
|
window.addEventListener("eip6963:announceProvider", (event) => {
|
|
@@ -1215,17 +1222,18 @@ var OpenKey = class {
|
|
|
1215
1222
|
const mode = this.resolveMode(modeOverride);
|
|
1216
1223
|
const origin = encodeURIComponent(window.location.origin);
|
|
1217
1224
|
const eoaFlag = action === "connect" && this.hasDetectedEoa() ? "&hasEoa=true" : "";
|
|
1225
|
+
const passkeysFlag = passkeysQueryFlag(this.passkeysSupported);
|
|
1218
1226
|
if (mode === "popup") {
|
|
1219
|
-
const url2 = `${this.host}/widget/${action}?origin=${origin}${eoaFlag}`;
|
|
1227
|
+
const url2 = `${this.host}/widget/${action}?origin=${origin}${eoaFlag}${passkeysFlag}`;
|
|
1220
1228
|
return new Promise((resolve, reject) => this.openPopup(action, url2, message, resolve, reject));
|
|
1221
1229
|
}
|
|
1222
1230
|
if (mode === "redirect") {
|
|
1223
|
-
const url2 = `${this.host}/widget/${action}?origin=${origin}${eoaFlag}`;
|
|
1231
|
+
const url2 = `${this.host}/widget/${action}?origin=${origin}${eoaFlag}${passkeysFlag}`;
|
|
1224
1232
|
window.location.href = url2;
|
|
1225
1233
|
return new Promise(() => {
|
|
1226
1234
|
});
|
|
1227
1235
|
}
|
|
1228
|
-
const url = `${this.host}/widget/embed/${action}?origin=${origin}${eoaFlag}`;
|
|
1236
|
+
const url = `${this.host}/widget/embed/${action}?origin=${origin}${eoaFlag}${passkeysFlag}`;
|
|
1229
1237
|
return this.openIframeModal(url, action, message, origin);
|
|
1230
1238
|
}
|
|
1231
1239
|
openIframeModal(url, action, message, origin) {
|
|
@@ -1331,7 +1339,7 @@ var OpenKey = class {
|
|
|
1331
1339
|
cleanup();
|
|
1332
1340
|
console.warn("OpenKey: iframe blocked by CSP, falling back to popup. Add frame-src https://openkey.so to your CSP.");
|
|
1333
1341
|
showToast();
|
|
1334
|
-
const popupUrl = `${this.host}/widget/${action}?origin=${origin}`;
|
|
1342
|
+
const popupUrl = `${this.host}/widget/${action}?origin=${origin}${passkeysQueryFlag(this.passkeysSupported)}`;
|
|
1335
1343
|
this.openPopup(action, popupUrl, message, (val) => settle(() => resolve(val)), (err) => settle(() => reject(err)));
|
|
1336
1344
|
}, IFRAME_READY_TIMEOUT);
|
|
1337
1345
|
const overallTimeout = setTimeout(() => {
|
|
@@ -1635,6 +1643,7 @@ export {
|
|
|
1635
1643
|
OpenKeyProvider,
|
|
1636
1644
|
index_default as default,
|
|
1637
1645
|
getOpenKey,
|
|
1646
|
+
passkeysQueryFlag,
|
|
1638
1647
|
resolveAuthorizeTinyCloudRouting,
|
|
1639
1648
|
shouldRouteAuthorizeTinyCloudExternal,
|
|
1640
1649
|
validateIframeResize
|