@abtnode/auth 1.17.2-beta-20251113-233840-b720c2e6 → 1.17.2-beta-20251114-122922-4319f1ac
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/lib/lost-passport.js +3 -2
- package/lib/oauth.js +2 -2
- package/lib/passkey.js +2 -2
- package/lib/util/bind-wallet.js +1 -1
- package/lib/util/federated.js +16 -1
- package/package.json +20 -20
package/lib/lost-passport.js
CHANGED
|
@@ -19,6 +19,7 @@ const {
|
|
|
19
19
|
PASSPORT_SOURCE,
|
|
20
20
|
PASSPORT_LOG_ACTION,
|
|
21
21
|
PASSPORT_ISSUE_ACTION,
|
|
22
|
+
USER_SESSION_STATUS,
|
|
22
23
|
} = require('@abtnode/constant');
|
|
23
24
|
const { getUserAvatarUrl, getAppAvatarUrl, getServerAvatarUrl, extractUserAvatar } = require('@abtnode/util/lib/user');
|
|
24
25
|
const getRequestIP = require('@abtnode/util/lib/get-request-ip');
|
|
@@ -428,7 +429,7 @@ const createLostPassportIssueRoute = ({ node, type, authServicePrefix, createTok
|
|
|
428
429
|
userDid: userPid,
|
|
429
430
|
appPid: teamDid,
|
|
430
431
|
passportId: passport?.id,
|
|
431
|
-
status:
|
|
432
|
+
status: USER_SESSION_STATUS.ONLINE,
|
|
432
433
|
ua: null,
|
|
433
434
|
lastLoginIp,
|
|
434
435
|
extra: {
|
|
@@ -439,7 +440,7 @@ const createLostPassportIssueRoute = ({ node, type, authServicePrefix, createTok
|
|
|
439
440
|
origin: await getOrigin({ req }),
|
|
440
441
|
});
|
|
441
442
|
|
|
442
|
-
if (shouldSyncFederated(
|
|
443
|
+
if (shouldSyncFederated(blocklet, sourceAppPid)) {
|
|
443
444
|
const masterSite = getFederatedMaster(blocklet);
|
|
444
445
|
await node.syncFederated({
|
|
445
446
|
did: teamDid,
|
package/lib/oauth.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const uniq = require('lodash/uniq');
|
|
3
3
|
const { getActivePassports } = require('@abtnode/util/lib/passport');
|
|
4
4
|
const { getAppAvatarUrl, getUserAvatarUrl } = require('@abtnode/util/lib/user');
|
|
5
|
-
const { ROLES } = require('@abtnode/constant');
|
|
5
|
+
const { ROLES, USER_SESSION_STATUS } = require('@abtnode/constant');
|
|
6
6
|
const formatContext = require('@abtnode/util/lib/format-context');
|
|
7
7
|
const { getBlockletAppIdList } = require('@blocklet/meta/lib/util');
|
|
8
8
|
const { LOGIN_PROVIDER } = require('@blocklet/constant');
|
|
@@ -101,7 +101,7 @@ function createPassportSwitcher(node, createToken, mode = 'server') {
|
|
|
101
101
|
visitorId,
|
|
102
102
|
appPid: teamDid,
|
|
103
103
|
passportId: passport?.id ?? null,
|
|
104
|
-
status:
|
|
104
|
+
status: USER_SESSION_STATUS.ONLINE,
|
|
105
105
|
locale: req.blockletLocale,
|
|
106
106
|
origin: await getOrigin({ req }),
|
|
107
107
|
});
|
package/lib/passkey.js
CHANGED
|
@@ -2,7 +2,7 @@ const pick = require('lodash/pick');
|
|
|
2
2
|
const { joinURL } = require('ufo');
|
|
3
3
|
const { Joi } = require('@arcblock/validator');
|
|
4
4
|
const { fromPublicKey } = require('@ocap/wallet');
|
|
5
|
-
const { ROLES, PASSPORT_STATUS, WELLKNOWN_BLOCKLET_ADMIN_PATH } = require('@abtnode/constant');
|
|
5
|
+
const { ROLES, PASSPORT_STATUS, WELLKNOWN_BLOCKLET_ADMIN_PATH, USER_SESSION_STATUS } = require('@abtnode/constant');
|
|
6
6
|
const { LOGIN_PROVIDER } = require('@blocklet/constant');
|
|
7
7
|
const { WELLKNOWN_SERVICE_PATH_PREFIX, SECURITY_RULE_DEFAULT_ID } = require('@abtnode/constant');
|
|
8
8
|
const { fromBase64, toBase64, toBuffer, toUint8Array, toHex } = require('@ocap/util');
|
|
@@ -589,7 +589,7 @@ function createPasskeyHandlers(node, mode, createToken) {
|
|
|
589
589
|
visitorId: req.get('x-blocklet-visitor-id'),
|
|
590
590
|
appPid: teamDid,
|
|
591
591
|
passportId: null,
|
|
592
|
-
status:
|
|
592
|
+
status: USER_SESSION_STATUS.ONLINE,
|
|
593
593
|
ua,
|
|
594
594
|
lastLoginIp: getRequestIP(req),
|
|
595
595
|
extra: {
|
package/lib/util/bind-wallet.js
CHANGED
|
@@ -253,7 +253,7 @@ module.exports = {
|
|
|
253
253
|
if (isService) {
|
|
254
254
|
const masterSite = getFederatedMaster(blocklet);
|
|
255
255
|
// NOTICE: 采用异步来更新,不阻塞接口的正常响应
|
|
256
|
-
if (shouldSyncFederated(
|
|
256
|
+
if (shouldSyncFederated(blocklet, sourceAppPid)) {
|
|
257
257
|
const syncUserData = {
|
|
258
258
|
did: oauthUser.did,
|
|
259
259
|
pk: oauthUser.pk,
|
package/lib/util/federated.js
CHANGED
|
@@ -42,6 +42,20 @@ function getUserAvatarUrl(avatar, blocklet) {
|
|
|
42
42
|
return avatarUrl;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
function getFederatedEnabled(blocklet) {
|
|
46
|
+
if (!blocklet) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const master = getFederatedMaster(blocklet);
|
|
50
|
+
// 如果当前应用是 master,则代表未开启统一登录
|
|
51
|
+
if (!master || master.appPid === blocklet.appPid) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const member = findFederatedSite(blocklet, blocklet.appPid);
|
|
56
|
+
return member?.status === 'approved';
|
|
57
|
+
}
|
|
58
|
+
|
|
45
59
|
function getFederatedMaster(blocklet) {
|
|
46
60
|
const { sites } = blocklet?.settings?.federated || {};
|
|
47
61
|
const masterSite = (sites || []).find((item) => isMaster(item));
|
|
@@ -58,7 +72,7 @@ function getFederatedMembers(blocklet, status = 'approved') {
|
|
|
58
72
|
});
|
|
59
73
|
}
|
|
60
74
|
|
|
61
|
-
function shouldSyncFederated(
|
|
75
|
+
function shouldSyncFederated(blocklet, sourceAppPid) {
|
|
62
76
|
if (sourceAppPid) {
|
|
63
77
|
return true;
|
|
64
78
|
}
|
|
@@ -293,6 +307,7 @@ module.exports = {
|
|
|
293
307
|
getFederatedSiteEnv,
|
|
294
308
|
getUserAvatarUrl,
|
|
295
309
|
shouldSyncFederated,
|
|
310
|
+
getFederatedEnabled,
|
|
296
311
|
getFederatedMaster,
|
|
297
312
|
getFederatedMembers,
|
|
298
313
|
findFederatedSite,
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.17.2-beta-
|
|
6
|
+
"version": "1.17.2-beta-20251114-122922-4319f1ac",
|
|
7
7
|
"description": "Simple lib to manage auth in ABT Node",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -18,25 +18,25 @@
|
|
|
18
18
|
"author": "linchen <linchen1987@foxmail.com> (http://github.com/linchen1987)",
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@abtnode/constant": "1.17.2-beta-
|
|
22
|
-
"@abtnode/logger": "1.17.2-beta-
|
|
23
|
-
"@abtnode/util": "1.17.2-beta-
|
|
24
|
-
"@arcblock/did": "^1.27.
|
|
25
|
-
"@arcblock/did-connect-js": "^1.27.
|
|
26
|
-
"@arcblock/did-ext": "^1.27.
|
|
27
|
-
"@arcblock/did-util": "^1.27.
|
|
28
|
-
"@arcblock/jwt": "^1.27.
|
|
29
|
-
"@arcblock/nft-display": "^3.2.
|
|
30
|
-
"@arcblock/validator": "^1.27.
|
|
31
|
-
"@arcblock/vc": "^1.27.
|
|
32
|
-
"@blocklet/constant": "1.17.2-beta-
|
|
21
|
+
"@abtnode/constant": "1.17.2-beta-20251114-122922-4319f1ac",
|
|
22
|
+
"@abtnode/logger": "1.17.2-beta-20251114-122922-4319f1ac",
|
|
23
|
+
"@abtnode/util": "1.17.2-beta-20251114-122922-4319f1ac",
|
|
24
|
+
"@arcblock/did": "^1.27.6",
|
|
25
|
+
"@arcblock/did-connect-js": "^1.27.6",
|
|
26
|
+
"@arcblock/did-ext": "^1.27.6",
|
|
27
|
+
"@arcblock/did-util": "^1.27.6",
|
|
28
|
+
"@arcblock/jwt": "^1.27.6",
|
|
29
|
+
"@arcblock/nft-display": "^3.2.5",
|
|
30
|
+
"@arcblock/validator": "^1.27.6",
|
|
31
|
+
"@arcblock/vc": "^1.27.6",
|
|
32
|
+
"@blocklet/constant": "1.17.2-beta-20251114-122922-4319f1ac",
|
|
33
33
|
"@blocklet/error": "^0.3.2",
|
|
34
|
-
"@blocklet/meta": "1.17.2-beta-
|
|
35
|
-
"@blocklet/sdk": "1.17.2-beta-
|
|
36
|
-
"@ocap/client": "^1.27.
|
|
37
|
-
"@ocap/mcrypto": "^1.27.
|
|
38
|
-
"@ocap/util": "^1.27.
|
|
39
|
-
"@ocap/wallet": "^1.27.
|
|
34
|
+
"@blocklet/meta": "1.17.2-beta-20251114-122922-4319f1ac",
|
|
35
|
+
"@blocklet/sdk": "1.17.2-beta-20251114-122922-4319f1ac",
|
|
36
|
+
"@ocap/client": "^1.27.6",
|
|
37
|
+
"@ocap/mcrypto": "^1.27.6",
|
|
38
|
+
"@ocap/util": "^1.27.6",
|
|
39
|
+
"@ocap/wallet": "^1.27.6",
|
|
40
40
|
"@simplewebauthn/server": "^13.1.1",
|
|
41
41
|
"axios": "^1.7.9",
|
|
42
42
|
"flat": "^5.0.2",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"axios-mock-adapter": "^2.1.0"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "eb484ccabce50c438b8eec1be3738da18cd28f75"
|
|
59
59
|
}
|