@arcblock/did-connect-service 4.1.51 → 4.1.53
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/_generated/asset-bytes.js +1 -1
- package/dist/_generated/asset-manifest.js +5 -5
- package/dist/_generated/login-bundle-string.d.ts +1 -1
- package/dist/_generated/login-bundle-string.d.ts.map +1 -1
- package/dist/_generated/login-bundle-string.js +1 -1
- package/dist/_generated/login-bundle-string.js.map +1 -1
- package/dist/_generated/qr-bundle-string.d.ts +1 -1
- package/dist/_generated/qr-bundle-string.d.ts.map +1 -1
- package/dist/_generated/qr-bundle-string.js +1 -1
- package/dist/_generated/qr-bundle-string.js.map +1 -1
- package/dist/assets/{admin-extra.1691035a.js → admin-extra.918f91ce.js} +5 -1
- package/dist/assets/{design.99dc4ddc.css → design.dfa1e109.css} +4 -4
- package/dist/assets/{login.fa75e481.css → login.941957f5.css} +88 -12
- package/dist/assets/login.f7787c55.js +847 -0
- package/dist/assets/{qr.c0d203ca.js → qr.dba9e6b3.js} +3 -3
- package/dist/ga4-measurement-id.d.ts +19 -0
- package/dist/ga4-measurement-id.d.ts.map +1 -0
- package/dist/ga4-measurement-id.js +36 -0
- package/dist/ga4-measurement-id.js.map +1 -0
- package/dist/handler-errors.d.ts +6 -0
- package/dist/handler-errors.d.ts.map +1 -1
- package/dist/handler-errors.js +6 -0
- package/dist/handler-errors.js.map +1 -1
- package/dist/handlers/access-key-connect-handler.d.ts +1 -1
- package/dist/handlers/access-key-connect-handler.d.ts.map +1 -1
- package/dist/handlers/access-key-connect-handler.js +1 -1
- package/dist/handlers/access-key-connect-handler.js.map +1 -1
- package/dist/handlers/auth-handler.d.ts.map +1 -1
- package/dist/handlers/auth-handler.js +35 -143
- package/dist/handlers/auth-handler.js.map +1 -1
- package/dist/handlers/blocklet-js-handler.d.ts.map +1 -1
- package/dist/handlers/blocklet-js-handler.js +3 -0
- package/dist/handlers/blocklet-js-handler.js.map +1 -1
- package/dist/handlers/branding-handler.d.ts.map +1 -1
- package/dist/handlers/branding-handler.js +10 -0
- package/dist/handlers/branding-handler.js.map +1 -1
- package/dist/handlers/login-page-model.d.ts +62 -0
- package/dist/handlers/login-page-model.d.ts.map +1 -0
- package/dist/handlers/login-page-model.js +218 -0
- package/dist/handlers/login-page-model.js.map +1 -0
- package/dist/handlers/passkey-handler.d.ts +17 -2
- package/dist/handlers/passkey-handler.d.ts.map +1 -1
- package/dist/handlers/passkey-handler.js +48 -107
- package/dist/handlers/passkey-handler.js.map +1 -1
- package/dist/handlers/team-handler.d.ts.map +1 -1
- package/dist/handlers/team-handler.js +1 -13
- package/dist/handlers/team-handler.js.map +1 -1
- package/dist/identity/webauthn.d.ts +1 -1
- package/dist/identity/webauthn.d.ts.map +1 -1
- package/dist/identity/webauthn.js +6 -3
- package/dist/identity/webauthn.js.map +1 -1
- package/dist/pages/admin/i18n.d.ts.map +1 -1
- package/dist/pages/admin/i18n.js +4 -0
- package/dist/pages/admin/i18n.js.map +1 -1
- package/dist/pages/admin/tab-branding.d.ts.map +1 -1
- package/dist/pages/admin/tab-branding.js +9 -1
- package/dist/pages/admin/tab-branding.js.map +1 -1
- package/dist/pages/gen-access-key-page.d.ts +15 -0
- package/dist/pages/gen-access-key-page.d.ts.map +1 -1
- package/dist/pages/gen-access-key-page.js +15 -2
- package/dist/pages/gen-access-key-page.js.map +1 -1
- package/dist/pages/invite-page.d.ts +9 -2
- package/dist/pages/invite-page.d.ts.map +1 -1
- package/dist/pages/invite-page.js +26 -28
- package/dist/pages/invite-page.js.map +1 -1
- package/dist/pages/login-bundle-entry.d.ts +1 -1
- package/dist/pages/login-bundle-entry.d.ts.map +1 -1
- package/dist/pages/login-bundle-entry.js +1 -1
- package/dist/pages/login-bundle-entry.js.map +1 -1
- package/dist/pages/login-page.d.ts +2 -0
- package/dist/pages/login-page.d.ts.map +1 -1
- package/dist/pages/login-page.js +39 -0
- package/dist/pages/login-page.js.map +1 -1
- package/package.json +5 -5
- package/dist/assets/login.e70223b2.js +0 -752
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 1. GET /invitations/:id/info → validate invitation
|
|
8
8
|
* 2. GET /did/session → check if already authenticated
|
|
9
9
|
* 3. If authenticated: "Confirm & Join" button
|
|
10
|
-
* 4. If not:
|
|
10
|
+
* 4. If not: GET login-config and mount LoginPage → on success → accept
|
|
11
11
|
* 5. POST /invitations/:id/accept → redirect to "/"
|
|
12
12
|
*/
|
|
13
13
|
import { assetUrl } from "../asset-registry.js";
|
|
@@ -32,6 +32,8 @@ export const INVITE_I18N = {
|
|
|
32
32
|
invalidFallback: "This invitation is not valid.",
|
|
33
33
|
verifyErrorTitle: "Error",
|
|
34
34
|
verifyErrorMsg: "Failed to verify invitation. Please try again.",
|
|
35
|
+
loginErrorTitle: "Unable to load sign-in",
|
|
36
|
+
loginErrorMsg: "Failed to load sign-in options. Please try again.",
|
|
35
37
|
joining: "Joining...",
|
|
36
38
|
acceptFailed: "Failed to accept invitation",
|
|
37
39
|
},
|
|
@@ -54,6 +56,8 @@ export const INVITE_I18N = {
|
|
|
54
56
|
invalidFallback: "此邀请无效。",
|
|
55
57
|
verifyErrorTitle: "出错了",
|
|
56
58
|
verifyErrorMsg: "验证邀请失败,请重试。",
|
|
59
|
+
loginErrorTitle: "无法加载登录",
|
|
60
|
+
loginErrorMsg: "加载登录选项失败,请重试。",
|
|
57
61
|
joining: "正在加入…",
|
|
58
62
|
acceptFailed: "接受邀请失败",
|
|
59
63
|
},
|
|
@@ -76,6 +80,8 @@ export const INVITE_I18N = {
|
|
|
76
80
|
invalidFallback: "此邀請無效。",
|
|
77
81
|
verifyErrorTitle: "發生錯誤",
|
|
78
82
|
verifyErrorMsg: "驗證邀請失敗,請再試一次。",
|
|
83
|
+
loginErrorTitle: "無法載入登入",
|
|
84
|
+
loginErrorMsg: "載入登入選項失敗,請再試一次。",
|
|
79
85
|
joining: "正在加入…",
|
|
80
86
|
acceptFailed: "接受邀請失敗",
|
|
81
87
|
},
|
|
@@ -98,12 +104,13 @@ export const INVITE_I18N = {
|
|
|
98
104
|
invalidFallback: "この招待は無効です。",
|
|
99
105
|
verifyErrorTitle: "エラー",
|
|
100
106
|
verifyErrorMsg: "招待の確認に失敗しました。もう一度お試しください。",
|
|
107
|
+
loginErrorTitle: "ログインを読み込めません",
|
|
108
|
+
loginErrorMsg: "ログイン方法の読み込みに失敗しました。もう一度お試しください。",
|
|
101
109
|
joining: "参加しています…",
|
|
102
110
|
acceptFailed: "招待の承諾に失敗しました",
|
|
103
111
|
},
|
|
104
112
|
};
|
|
105
113
|
export function buildInvitePageHTML(apiBase, locale = "en", options) {
|
|
106
|
-
const masterOAuthOriginJson = JSON.stringify(options?.masterOAuthOrigin ?? null);
|
|
107
114
|
const { code, htmlLang } = resolvePageLocale(locale);
|
|
108
115
|
const t = INVITE_I18N[code];
|
|
109
116
|
const appName = (options?.appName ?? "App")
|
|
@@ -123,6 +130,8 @@ export function buildInvitePageHTML(apiBase, locale = "en", options) {
|
|
|
123
130
|
invalidFallback: t.invalidFallback,
|
|
124
131
|
verifyErrorTitle: t.verifyErrorTitle,
|
|
125
132
|
verifyErrorMsg: t.verifyErrorMsg,
|
|
133
|
+
loginErrorTitle: t.loginErrorTitle,
|
|
134
|
+
loginErrorMsg: t.loginErrorMsg,
|
|
126
135
|
joining: t.joining,
|
|
127
136
|
acceptFailed: t.acceptFailed,
|
|
128
137
|
});
|
|
@@ -209,7 +218,6 @@ var FetchHttpAdapter = __LoginBundle.FetchHttpAdapter;
|
|
|
209
218
|
|
|
210
219
|
var I18N = ${clientI18n};
|
|
211
220
|
var API_BASE = ${JSON.stringify(apiBase)};
|
|
212
|
-
var MASTER_OAUTH_ORIGIN = ${masterOAuthOriginJson};
|
|
213
221
|
var invitationId = new URLSearchParams(location.search).get("id");
|
|
214
222
|
|
|
215
223
|
function show(id) {
|
|
@@ -319,45 +327,35 @@ async function init() {
|
|
|
319
327
|
// Not authenticated
|
|
320
328
|
}
|
|
321
329
|
|
|
322
|
-
show("valid-state");
|
|
323
|
-
|
|
324
330
|
if (isAuthenticated) {
|
|
331
|
+
show("valid-state");
|
|
325
332
|
// Show confirm button
|
|
326
333
|
document.getElementById("confirm-btn").classList.remove("hidden");
|
|
327
334
|
} else {
|
|
328
|
-
//
|
|
335
|
+
// Methods, providers, theme, and masterOAuthOrigin come from login-config.
|
|
336
|
+
// LoginPage writes <html data-theme> the same way the standalone login page does.
|
|
329
337
|
document.getElementById("card").style.display = "none";
|
|
330
|
-
var
|
|
331
|
-
mountEl.classList.remove("hidden");
|
|
332
|
-
|
|
333
|
-
// Fetch OAuth configs to populate login methods
|
|
334
|
-
var oauthProviders = [];
|
|
338
|
+
var loginConfig;
|
|
335
339
|
try {
|
|
336
|
-
var
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
oauthProviders = oauthData.providers;
|
|
340
|
-
}
|
|
340
|
+
var loginRes = await fetch("/.well-known/service/api/did/login-config");
|
|
341
|
+
if (!loginRes.ok) throw new Error("login-config");
|
|
342
|
+
loginConfig = await loginRes.json();
|
|
341
343
|
} catch (e) {
|
|
342
|
-
|
|
344
|
+
document.getElementById("card").style.display = "";
|
|
345
|
+
showError(I18N.loginErrorTitle, I18N.loginErrorMsg);
|
|
346
|
+
return;
|
|
343
347
|
}
|
|
344
348
|
|
|
345
|
-
var
|
|
346
|
-
|
|
347
|
-
methods.push("email", "did-connect");
|
|
349
|
+
var mountEl = document.getElementById("login-mount");
|
|
350
|
+
mountEl.classList.remove("hidden");
|
|
348
351
|
|
|
349
|
-
var
|
|
350
|
-
var
|
|
351
|
-
var loginPage = new LoginPage(mountEl, { apiPrefix: apiPrefix, servicePrefix: "/.well-known/service" }, http, {
|
|
352
|
-
methods: methods,
|
|
353
|
-
oauthProviders: oauthProviders.map(function(p) { return { id: p.name, name: p.name, enabled: true }; }),
|
|
352
|
+
var http = new FetchHttpAdapter();
|
|
353
|
+
var loginPage = new LoginPage(mountEl, loginConfig.connect, http, Object.assign({}, loginConfig.options, {
|
|
354
354
|
invitationId: invitationId,
|
|
355
|
-
masterOAuthOrigin: MASTER_OAUTH_ORIGIN || undefined,
|
|
356
355
|
onSuccess: function() {
|
|
357
|
-
// Login succeeded — accept invitation
|
|
358
356
|
handleConfirm();
|
|
359
357
|
},
|
|
360
|
-
});
|
|
358
|
+
}));
|
|
361
359
|
loginPage.mount();
|
|
362
360
|
}
|
|
363
361
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invite-page.js","sourceRoot":"","sources":["../../src/pages/invite-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"invite-page.js","sourceRoot":"","sources":["../../src/pages/invite-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,cAAc,CAAC;AAgCvE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE;QACF,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,yBAAyB;QACpC,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,yCAAyC;QAClD,WAAW,EAAE,gBAAgB;QAC7B,UAAU,EAAE,oBAAoB;QAChC,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,UAAU;QACnB,cAAc,EAAE,4CAA4C;QAC5D,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,4BAA4B;QACrC,gBAAgB,EAAE,wBAAwB;QAC1C,QAAQ,EAAE,kCAAkC;QAC5C,OAAO,EAAE,8BAA8B;QACvC,MAAM,EAAE,yCAAyC;QACjD,eAAe,EAAE,+BAA+B;QAChD,gBAAgB,EAAE,OAAO;QACzB,cAAc,EAAE,gDAAgD;QAChE,eAAe,EAAE,wBAAwB;QACzC,aAAa,EAAE,mDAAmD;QAClE,OAAO,EAAE,YAAY;QACrB,YAAY,EAAE,6BAA6B;KAC5C;IACD,EAAE,EAAE;QACF,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,OAAO;QACpB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,cAAc;QAC9B,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,WAAW;QACpB,gBAAgB,EAAE,OAAO;QACzB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,WAAW;QACnB,eAAe,EAAE,QAAQ;QACzB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,aAAa;QAC7B,eAAe,EAAE,QAAQ;QACzB,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,QAAQ;KACvB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,OAAO;QACpB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,cAAc;QAC9B,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,WAAW;QACpB,gBAAgB,EAAE,QAAQ;QAC1B,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,WAAW;QACnB,eAAe,EAAE,QAAQ;QACzB,gBAAgB,EAAE,MAAM;QACxB,cAAc,EAAE,eAAe;QAC/B,eAAe,EAAE,QAAQ;QACzB,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE,QAAQ;KACvB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,aAAa;QACxB,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,OAAO;QAChB,cAAc,EAAE,oBAAoB;QACpC,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,mBAAmB;QAC5B,gBAAgB,EAAE,YAAY;QAC9B,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,mBAAmB;QAC3B,eAAe,EAAE,YAAY;QAC7B,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,2BAA2B;QAC3C,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,iCAAiC;QAChD,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,cAAc;KAC7B;CACqD,CAAC;AAEzD,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAAM,GAAG,IAAI,EACb,OAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;SACxC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,YAAY,EAAE,CAAC,CAAC,YAAY;KAC7B,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;cACN,QAAQ;;;;WAIX,CAAC,CAAC,KAAK,MAAM,OAAO;iCACE,QAAQ,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAgC1C,CAAC,CAAC,SAAS;4BACK,CAAC,CAAC,UAAU;;;;YAI5B,CAAC,CAAC,KAAK;4BACS,OAAO;;;;;;;;;;;;;gBAanB,CAAC,CAAC,WAAW;;;;;;6BAMA,CAAC,CAAC,UAAU;;sCAEH,CAAC,CAAC,MAAM;;;;YAIlC,CAAC,CAAC,OAAO;4BACO,CAAC,CAAC,cAAc;;;;;;eAM7B,QAAQ,CAAC,UAAU,CAAC;;;;;aAKtB,UAAU;iBACN,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkJhC,CAAC;AACT,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* Used by page.ts and invite-page.ts via the generated string constant.
|
|
6
6
|
*/
|
|
7
7
|
export { FetchHttpAdapter } from '@arcblock/did-connect-core';
|
|
8
|
-
export { LoginPage, runPasskeyAuth } from '@arcblock/did-connect-core/ui';
|
|
8
|
+
export { LoginDialog, LoginPage, runPasskeyAuth } from '@arcblock/did-connect-core/ui';
|
|
9
9
|
//# sourceMappingURL=login-bundle-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-bundle-entry.d.ts","sourceRoot":"","sources":["../../src/pages/login-bundle-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"login-bundle-entry.d.ts","sourceRoot":"","sources":["../../src/pages/login-bundle-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* Used by page.ts and invite-page.ts via the generated string constant.
|
|
6
6
|
*/
|
|
7
7
|
export { FetchHttpAdapter } from '@arcblock/did-connect-core';
|
|
8
|
-
export { LoginPage, runPasskeyAuth } from '@arcblock/did-connect-core/ui';
|
|
8
|
+
export { LoginDialog, LoginPage, runPasskeyAuth } from '@arcblock/did-connect-core/ui';
|
|
9
9
|
//# sourceMappingURL=login-bundle-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-bundle-entry.js","sourceRoot":"","sources":["../../src/pages/login-bundle-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"login-bundle-entry.js","sourceRoot":"","sources":["../../src/pages/login-bundle-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* JS uses a pre-built IIFE bundle from core/ui (LoginPage + runPasskeyAuth).
|
|
6
6
|
*/
|
|
7
7
|
export interface RenderLoginPageConfig {
|
|
8
|
+
/** Public instance scope for origin-local method preference, never user identity. */
|
|
9
|
+
preferenceKey?: string;
|
|
8
10
|
/** API prefix for DID Connect endpoints */
|
|
9
11
|
apiPrefix: string;
|
|
10
12
|
/** Application name displayed on login page */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-page.d.ts","sourceRoot":"","sources":["../../src/pages/login-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"login-page.d.ts","sourceRoot":"","sources":["../../src/pages/login-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,qBAAqB;IACpC,qFAAqF;IACrF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAsIrE"}
|
package/dist/pages/login-page.js
CHANGED
|
@@ -22,6 +22,17 @@ const SIGN_IN_TITLES = {
|
|
|
22
22
|
"zh-TW": "登入",
|
|
23
23
|
ja: "ログイン",
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Fixed purpose titles for `?login_intent=bookmark|comment`.
|
|
27
|
+
* Only enabled locales are serialized into the page. An unpublished language
|
|
28
|
+
* must not appear as copy just because the client knows the intent name.
|
|
29
|
+
*/
|
|
30
|
+
const LOGIN_INTENT_TITLES = {
|
|
31
|
+
en: { bookmark: "Sign in to save this page", comment: "Sign in to write a comment" },
|
|
32
|
+
zh: { bookmark: "登录后收藏此页面", comment: "登录后发表评论" },
|
|
33
|
+
"zh-TW": { bookmark: "登入後收藏此頁面", comment: "登入後發表評論" },
|
|
34
|
+
ja: { bookmark: "ログインしてこのページを保存", comment: "ログインしてコメントを書く" },
|
|
35
|
+
};
|
|
25
36
|
export function renderLoginPage(config) {
|
|
26
37
|
const connectConfig = {
|
|
27
38
|
apiPrefix: config.apiPrefix,
|
|
@@ -30,6 +41,7 @@ export function renderLoginPage(config) {
|
|
|
30
41
|
};
|
|
31
42
|
const locale = config.locale || "en";
|
|
32
43
|
const options = {
|
|
44
|
+
preferenceKey: config.preferenceKey,
|
|
33
45
|
methods: config.methods || ["passkey", "did-connect"],
|
|
34
46
|
oauthProviders: config.oauthProviders,
|
|
35
47
|
locale,
|
|
@@ -48,6 +60,13 @@ export function renderLoginPage(config) {
|
|
|
48
60
|
};
|
|
49
61
|
const configJSON = escapeForScript(JSON.stringify(connectConfig));
|
|
50
62
|
const optionsJSON = escapeForScript(JSON.stringify(options));
|
|
63
|
+
// Omitted locales keep the historical en/zh toggle, so only those titles ship.
|
|
64
|
+
const enabledLocaleCodes = config.locales?.map((item) => item.code) ?? ["en", "zh"];
|
|
65
|
+
const purposeTitles = Object.fromEntries(enabledLocaleCodes.flatMap((code) => {
|
|
66
|
+
const copy = LOGIN_INTENT_TITLES[code];
|
|
67
|
+
return copy ? [[code, copy]] : [];
|
|
68
|
+
}));
|
|
69
|
+
const purposeTitlesJSON = escapeForScript(JSON.stringify(purposeTitles));
|
|
51
70
|
// App-level default for the escape link, overridable per-navigation via ?cancel_to=
|
|
52
71
|
const cancelDefaultJSON = escapeForScript(JSON.stringify(config.cancelUrl || "/"));
|
|
53
72
|
const pageLocale = resolvePageLocale(locale);
|
|
@@ -74,6 +93,14 @@ export function renderLoginPage(config) {
|
|
|
74
93
|
var config = ${configJSON};
|
|
75
94
|
var options = ${optionsJSON};
|
|
76
95
|
var params = new URLSearchParams(location.search);
|
|
96
|
+
// Only bounded intent names affect copy; never render caller-supplied title HTML.
|
|
97
|
+
// purposeTitles contains enabled locales only.
|
|
98
|
+
var intent = params.get('login_intent');
|
|
99
|
+
var purposeTitles = ${purposeTitlesJSON};
|
|
100
|
+
var purposeForLocale = purposeTitles[options.locale] || purposeTitles.en;
|
|
101
|
+
var purposeTitle = purposeForLocale ? purposeForLocale[intent] : undefined;
|
|
102
|
+
if ((intent === 'bookmark' || intent === 'comment') && purposeTitle) options.purpose = { title: purposeTitle };
|
|
103
|
+
|
|
77
104
|
function persistArcLang(lang) {
|
|
78
105
|
document.cookie = 'arc_lang=' + encodeURIComponent(lang) + ';path=/;max-age=31536000;SameSite=Lax';
|
|
79
106
|
}
|
|
@@ -105,6 +132,18 @@ export function renderLoginPage(config) {
|
|
|
105
132
|
location.href = next.toString();
|
|
106
133
|
};
|
|
107
134
|
}
|
|
135
|
+
// ?theme= is a preview and wins. Otherwise localStorage web-mode wins over
|
|
136
|
+
// the server theme (did_connect_theme / arc_mode). LoginPage reads the same
|
|
137
|
+
// keys again; this assignment keeps the bootstrap explicit.
|
|
138
|
+
var urlTheme = params.get('theme');
|
|
139
|
+
if (urlTheme === 'light' || urlTheme === 'dark' || urlTheme === 'auto') {
|
|
140
|
+
options.theme = urlTheme;
|
|
141
|
+
} else {
|
|
142
|
+
try {
|
|
143
|
+
var storedTheme = localStorage.getItem('web-mode');
|
|
144
|
+
if (storedTheme === 'light' || storedTheme === 'dark' || storedTheme === 'auto') options.theme = storedTheme;
|
|
145
|
+
} catch (e) {}
|
|
146
|
+
}
|
|
108
147
|
// Escape hatch destination for the "← Back" link: ?cancel_to= → app default → "/"
|
|
109
148
|
options.homeUrl = resolveSameOrigin(params.get("${CANCEL_TO_PARAM}"), ${cancelDefaultJSON});
|
|
110
149
|
if (options.onSuccess === "__reload__") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-page.js","sourceRoot":"","sources":["../../src/pages/login-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"login-page.js","sourceRoot":"","sources":["../../src/pages/login-page.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcblock/did-connect-service",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.53",
|
|
4
4
|
"description": "Multi-runtime authentication service framework — Passkey, DID Connect, OAuth, Email, Team, RBAC",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
"@ocap/wallet": "^1.30.24",
|
|
57
57
|
"@resvg/resvg-wasm": "^2.6.2",
|
|
58
58
|
"fast-json-stable-stringify": "^2.1.0",
|
|
59
|
-
"hono": "^4.13.
|
|
59
|
+
"hono": "^4.13.7",
|
|
60
60
|
"satori": "^0.26.0",
|
|
61
|
-
"sharp": "^0.35.
|
|
61
|
+
"sharp": "^0.35.5",
|
|
62
62
|
"ufo": "^1.6.4",
|
|
63
63
|
"valibot": "^1.4.2",
|
|
64
|
-
"@arcblock/did-connect-js": "^4.1.
|
|
65
|
-
"@arcblock/did-connect-core": "^4.1.
|
|
64
|
+
"@arcblock/did-connect-js": "^4.1.53",
|
|
65
|
+
"@arcblock/did-connect-core": "^4.1.53"
|
|
66
66
|
},
|
|
67
67
|
"optionalDependencies": {
|
|
68
68
|
"@aigne/afs": "^1.11.0-beta.13"
|