@privateaim/server-realtime-kit 0.8.3 → 0.8.5
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/CHANGELOG.md +45 -0
- package/dist/services/authup/middleware.js +2 -2
- package/dist/services/authup/middleware.js.map +1 -1
- package/dist/services/authup/utils.d.ts +1 -1
- package/dist/services/authup/utils.d.ts.map +1 -1
- package/dist/services/authup/utils.js +9 -6
- package/dist/services/authup/utils.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +14 -12
- package/src/services/authup/middleware.ts +2 -2
- package/src/services/authup/utils.ts +11 -7
- package/src/types.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,50 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.8.5](https://github.com/PrivateAIM/hub/compare/v0.8.4...v0.8.5) (2025-01-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* bump authup dependencies & adjusted code base ([90f7131](https://github.com/PrivateAIM/hub/commit/90f7131723e4e00dad04cb5ababa3e3f232e9c24))
|
|
9
|
+
* refactoring of master-image workflow ([#845](https://github.com/PrivateAIM/hub/issues/845)) ([7d2b866](https://github.com/PrivateAIM/hub/commit/7d2b8662b24dcf411d3ae8232152fecf53167382))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **deps:** bump @authup/core-kit from 1.0.0-beta.22 to 1.0.0-beta.23 ([#896](https://github.com/PrivateAIM/hub/issues/896)) ([e0dcfed](https://github.com/PrivateAIM/hub/commit/e0dcfed47320bd53fadbca11a05ca677ed0ef7ff))
|
|
15
|
+
* **deps:** bump @authup/kit from 1.0.0-beta.22 to 1.0.0-beta.23 ([#901](https://github.com/PrivateAIM/hub/issues/901)) ([00a447c](https://github.com/PrivateAIM/hub/commit/00a447ce40ab17b67b0809b41c4233e424303a7c))
|
|
16
|
+
* **deps:** bump authup to v1.0.0-beta.24 ([#963](https://github.com/PrivateAIM/hub/issues/963)) ([90c40c0](https://github.com/PrivateAIM/hub/commit/90c40c0d55018557ee8bb381aad7e3cfbcd29b83))
|
|
17
|
+
* **deps:** bump socket.io from 4.8.0 to 4.8.1 ([#846](https://github.com/PrivateAIM/hub/issues/846)) ([ede8fb8](https://github.com/PrivateAIM/hub/commit/ede8fb866bcf0ac493c548ae5b70c738978b912a))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Dependencies
|
|
21
|
+
|
|
22
|
+
* The following workspace dependencies were updated
|
|
23
|
+
* dependencies
|
|
24
|
+
* @privateaim/kit bumped from ^0.8.4 to ^0.8.5
|
|
25
|
+
* @privateaim/server-kit bumped from ^0.8.4 to ^0.8.5
|
|
26
|
+
|
|
27
|
+
## [0.8.4](https://github.com/PrivateAIM/hub/compare/v0.8.3...v0.8.4) (2024-10-24)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* bump authup & implement async policy & permission evaluation ([#807](https://github.com/PrivateAIM/hub/issues/807)) ([d065562](https://github.com/PrivateAIM/hub/commit/d065562585076e26553ad5a39f4a5789f7e18f24))
|
|
33
|
+
* bump authup & vuecs packages + refactored navigation ([c4db8d5](https://github.com/PrivateAIM/hub/commit/c4db8d51588b3d701815e2ba2f9b80e594f3663f))
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Bug Fixes
|
|
37
|
+
|
|
38
|
+
* **deps:** bump socket.io from 4.7.5 to 4.8.0 ([#800](https://github.com/PrivateAIM/hub/issues/800)) ([2f05947](https://github.com/PrivateAIM/hub/commit/2f05947e33a9e6a97cd7a49853e49e171004dfd3))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Dependencies
|
|
42
|
+
|
|
43
|
+
* The following workspace dependencies were updated
|
|
44
|
+
* dependencies
|
|
45
|
+
* @privateaim/kit bumped from ^0.8.3 to ^0.8.4
|
|
46
|
+
* @privateaim/server-kit bumped from ^0.8.3 to ^0.8.4
|
|
47
|
+
|
|
3
48
|
## [0.8.3](https://github.com/PrivateAIM/hub/compare/v0.8.2...v0.8.3) (2024-09-19)
|
|
4
49
|
|
|
5
50
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.createAuthupMiddleware = createAuthupMiddleware;
|
|
10
10
|
exports.mountAuthupMiddleware = mountAuthupMiddleware;
|
|
11
|
-
const
|
|
11
|
+
const server_adapter_socket_io_1 = require("@authup/server-adapter-socket-io");
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
13
|
function createAuthupMiddleware(options) {
|
|
14
14
|
let baseURL;
|
|
@@ -49,7 +49,7 @@ function createAuthupMiddleware(options) {
|
|
|
49
49
|
client: options.redis,
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
-
return (0,
|
|
52
|
+
return (0, server_adapter_socket_io_1.createMiddleware)({
|
|
53
53
|
tokenVerifier: {
|
|
54
54
|
baseURL,
|
|
55
55
|
creator: tokenCreator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/services/authup/middleware.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAWH,wDAuDC;AAED,sDAMC;AAtED
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/services/authup/middleware.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAWH,wDAuDC;AAED,sDAMC;AAtED,+EAAoE;AAKpE,mCAAsF;AAEtF,SAAgB,sBAAsB,CAClC,OAA4C;IAE5C,IAAI,OAA4B,CAAC;IACjC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,GAAG,IAAA,uCAA+B,GAAE,CAAC;QAE/C,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YACpB,IAAA,kCAA0B,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,EAAE,CAAC;QACX,CAAC,CAAC;IACN,CAAC;IAED,IAAI,YAAkC,CAAC;IACvC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,YAAY,GAAG;YACX,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO;SACV,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,YAAY,GAAG;YACX,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,UAAU;YACpB,OAAO;SACV,CAAC;IACN,CAAC;IAED,IAAI,UAAuD,CAAC;IAC5D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,UAAU,GAAG;YACT,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO,CAAC,KAAK;SACxB,CAAC;IACN,CAAC;IAED,OAAO,IAAA,2CAAgB,EAAC;QACpB,aAAa,EAAE;YACX,OAAO;YACP,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,UAAU;SACpB;QACD,oBAAoB,EAAE,CAClB,MAAc,EACd,IAAI,EACN,EAAE,CAAC,IAAA,kCAA0B,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC;KACvE,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,qBAAqB,CACjC,GAAuB,EACvB,OAA4C;IAE5C,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TokenVerificationData } from '@authup/server-
|
|
1
|
+
import type { TokenVerificationData } from '@authup/server-adapter-kit';
|
|
2
2
|
import type { Socket } from '../../types';
|
|
3
3
|
type TokenVerificationDataMinimal = Pick<TokenVerificationData, 'permissions' | 'realm_id' | 'realm_name' | 'sub' | 'sub_kind' | 'sub_name'>;
|
|
4
4
|
export declare function createFakeTokenVerificationData(): TokenVerificationDataMinimal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/services/authup/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/services/authup/utils.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,KAAK,4BAA4B,GAAG,IAAI,CACxC,qBAAqB,EACrB,aAAa,GACb,UAAU,GACV,YAAY,GACZ,KAAK,GACL,UAAU,GACV,UAAU,CACT,CAAC;AAWF,wBAAgB,+BAA+B,IAAI,4BAA4B,CAW9E;AAED,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,4BAA4B,EAClC,aAAa,CAAC,EAAE,OAAO,QA4B1B"}
|
|
@@ -9,11 +9,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.createFakeTokenVerificationData = createFakeTokenVerificationData;
|
|
10
10
|
exports.applyTokenVerificationData = applyTokenVerificationData;
|
|
11
11
|
const core_kit_1 = require("@authup/core-kit");
|
|
12
|
-
const
|
|
13
|
-
const
|
|
12
|
+
const specs_1 = require("@authup/specs");
|
|
13
|
+
const access_1 = require("@authup/access");
|
|
14
|
+
const kit_1 = require("@privateaim/kit");
|
|
14
15
|
function generateAbilities() {
|
|
15
16
|
return Object.values({
|
|
16
|
-
...
|
|
17
|
+
...kit_1.PermissionName,
|
|
17
18
|
...core_kit_1.PermissionName,
|
|
18
19
|
}).map((name) => ({
|
|
19
20
|
name,
|
|
@@ -39,14 +40,16 @@ function applyTokenVerificationData(socket, data, fakeAbilities) {
|
|
|
39
40
|
}
|
|
40
41
|
socket.data.realmId = data.realm_id;
|
|
41
42
|
socket.data.realmName = data.realm_name;
|
|
42
|
-
socket.data.
|
|
43
|
+
socket.data.permissionChecker = new access_1.PermissionChecker({
|
|
44
|
+
provider: new access_1.PermissionMemoryProvider(abilities),
|
|
45
|
+
});
|
|
43
46
|
switch (data.sub_kind) {
|
|
44
|
-
case
|
|
47
|
+
case specs_1.OAuth2SubKind.USER: {
|
|
45
48
|
socket.data.userId = data.sub;
|
|
46
49
|
socket.data.userName = data.sub_name;
|
|
47
50
|
break;
|
|
48
51
|
}
|
|
49
|
-
case
|
|
52
|
+
case specs_1.OAuth2SubKind.ROBOT: {
|
|
50
53
|
socket.data.robotId = data.sub;
|
|
51
54
|
socket.data.robotName = data.sub_name;
|
|
52
55
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/services/authup/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/services/authup/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA6BH,0EAWC;AAED,gEA+BC;AAvED,+CAA6F;AAE7F,yCAA8C;AAC9C,2CAA6E;AAE7E,yCAAiD;AAajD,SAAS,iBAAiB;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,GAAG,oBAAc;QACjB,GAAG,yBAAoB;KAC1B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;KACmB,CAAA,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,+BAA+B;IAC3C,OAAO;QACH,QAAQ,EAAE,sCAAsC;QAChD,UAAU,EAAE,4BAAiB;QAE7B,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,sCAAsC;QAC3C,QAAQ,EAAE,OAAO;QAEjB,WAAW,EAAE,iBAAiB,EAAE;KACnC,CAAC;AACN,CAAC;AAED,SAAgB,0BAA0B,CACtC,MAAc,EACd,IAAkC,EAClC,aAAuB;IAEvB,IAAI,SAA2B,CAAC;IAChC,IAAI,aAAa,EAAE,CAAC;QAChB,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IAExC,MAAM,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAAiB,CAAC;QAClD,QAAQ,EAAE,IAAI,iCAAwB,CAAC,SAAS,CAAC;KACpD,CAAC,CAAC;IAEH,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,qBAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrC,MAAM;QACV,CAAC;QACD,KAAK,qBAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YACtC,MAAM;QACV,CAAC;IACL,CAAC;AACL,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Realm, Robot, User } from '@authup/core-kit';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PermissionChecker } from '@authup/access';
|
|
3
3
|
import type { Namespace as _Namespace, Server as _Server, Socket as _Socket } from 'socket.io';
|
|
4
4
|
export type SocketData = {
|
|
5
|
-
|
|
5
|
+
permissionChecker?: PermissionChecker;
|
|
6
6
|
realmId?: Realm['id'];
|
|
7
7
|
realmName?: Realm['name'];
|
|
8
8
|
userId?: User['id'];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACR,SAAS,IAAI,UAAU,EACvB,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACpB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,UAAU,GAAG;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACxC;AAED,MAAM,MAAM,MAAM,CACd,YAAY,SAAS,SAAS,GAAG,gBAAgB,EACjD,UAAU,SAAS,SAAS,GAAG,YAAY,EAC3C,gBAAgB,SAAS,SAAS,GAAG,gBAAgB,EACrD,IAAI,SAAS,UAAU,GAAG,UAAU,IACpC,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAE9D,MAAM,MAAM,MAAM,CACd,YAAY,SAAS,SAAS,GAAG,gBAAgB,EACjD,UAAU,SAAS,SAAS,GAAG,YAAY,EAC3C,gBAAgB,SAAS,SAAS,GAAG,gBAAgB,EACrD,IAAI,SAAS,UAAU,GAAG,UAAU,IACpC,OAAO,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAE9D,MAAM,MAAM,SAAS,CACjB,YAAY,SAAS,SAAS,GAAG,gBAAgB,EACjD,UAAU,SAAS,SAAS,GAAG,YAAY,EAC3C,gBAAgB,SAAS,SAAS,GAAG,gBAAgB,EACrD,IAAI,SAAS,UAAU,GAAG,UAAU,IACpC,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAEjE,MAAM,MAAM,UAAU,CAClB,YAAY,SAAS,SAAS,GAAG,gBAAgB,EACjD,UAAU,SAAS,SAAS,GAAG,YAAY,EAC3C,gBAAgB,SAAS,SAAS,GAAG,gBAAgB,EACrD,IAAI,SAAS,UAAU,GAAG,UAAU,IACpC,CACA,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAChE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,KAC1B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@privateaim/server-realtime-kit",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.5",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"author": {
|
|
@@ -11,22 +11,24 @@
|
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"description": "This package contains the realtime application which connects the API with socket based clients.",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@authup/
|
|
15
|
-
"@authup/
|
|
16
|
-
"@authup/
|
|
17
|
-
"@authup/
|
|
18
|
-
"@authup/
|
|
19
|
-
"@
|
|
20
|
-
"@
|
|
14
|
+
"@authup/access": "^1.0.0-beta.24",
|
|
15
|
+
"@authup/specs": "^1.0.0-beta.24",
|
|
16
|
+
"@authup/kit": "^1.0.0-beta.24",
|
|
17
|
+
"@authup/core-kit": "^1.0.0-beta.24",
|
|
18
|
+
"@authup/core-realtime-kit": "^1.0.0-beta.24",
|
|
19
|
+
"@authup/server-adapter-kit": "^1.0.0-beta.24",
|
|
20
|
+
"@authup/server-adapter-socket-io": "^1.0.0-beta.24",
|
|
21
|
+
"@privateaim/kit": "^0.8.5",
|
|
22
|
+
"@privateaim/server-kit": "^0.8.5",
|
|
21
23
|
"@ebec/http": "^2.3.0"
|
|
22
24
|
},
|
|
23
25
|
"devDependencies": {
|
|
24
|
-
"redis-extension": "^
|
|
25
|
-
"socket.io": "^4.
|
|
26
|
+
"redis-extension": "^2.0.1",
|
|
27
|
+
"socket.io": "^4.8.1"
|
|
26
28
|
},
|
|
27
29
|
"peerDependencies": {
|
|
28
|
-
"redis-extension": "^
|
|
29
|
-
"socket.io": "^4.
|
|
30
|
+
"redis-extension": "^2.0.1",
|
|
31
|
+
"socket.io": "^4.8.1"
|
|
30
32
|
},
|
|
31
33
|
"scripts": {
|
|
32
34
|
"dev": "ts-node src/index.ts",
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import type { TokenCreatorOptions } from '@authup/core-http-kit';
|
|
9
|
-
import type { TokenVerifierRedisCacheOptions } from '@authup/server-
|
|
10
|
-
import { createMiddleware } from '@authup/server-
|
|
9
|
+
import type { TokenVerifierRedisCacheOptions } from '@authup/server-adapter-kit';
|
|
10
|
+
import { createMiddleware } from '@authup/server-adapter-socket-io';
|
|
11
11
|
import type {
|
|
12
12
|
Middleware, Namespace, Server, Socket,
|
|
13
13
|
} from '../../types';
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { PermissionName as AuthupPermissionName, REALM_MASTER_NAME } from '@authup/core-kit';
|
|
9
|
-
import type {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
9
|
+
import type { PermissionItem } from '@authup/access';
|
|
10
|
+
import { OAuth2SubKind } from '@authup/specs';
|
|
11
|
+
import { PermissionChecker, PermissionMemoryProvider } from '@authup/access';
|
|
12
|
+
import type { TokenVerificationData } from '@authup/server-adapter-kit';
|
|
12
13
|
import { PermissionName } from '@privateaim/kit';
|
|
13
14
|
import type { Socket } from '../../types';
|
|
14
15
|
|
|
@@ -22,13 +23,13 @@ TokenVerificationData,
|
|
|
22
23
|
'sub_name'
|
|
23
24
|
>;
|
|
24
25
|
|
|
25
|
-
function generateAbilities():
|
|
26
|
+
function generateAbilities(): PermissionItem[] {
|
|
26
27
|
return Object.values({
|
|
27
28
|
...PermissionName,
|
|
28
29
|
...AuthupPermissionName,
|
|
29
30
|
}).map((name) => ({
|
|
30
31
|
name,
|
|
31
|
-
} satisfies
|
|
32
|
+
} satisfies PermissionItem));
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
export function createFakeTokenVerificationData(): TokenVerificationDataMinimal {
|
|
@@ -49,7 +50,7 @@ export function applyTokenVerificationData(
|
|
|
49
50
|
data: TokenVerificationDataMinimal,
|
|
50
51
|
fakeAbilities?: boolean,
|
|
51
52
|
) {
|
|
52
|
-
let abilities:
|
|
53
|
+
let abilities: PermissionItem[];
|
|
53
54
|
if (fakeAbilities) {
|
|
54
55
|
abilities = generateAbilities();
|
|
55
56
|
} else {
|
|
@@ -58,7 +59,10 @@ export function applyTokenVerificationData(
|
|
|
58
59
|
|
|
59
60
|
socket.data.realmId = data.realm_id;
|
|
60
61
|
socket.data.realmName = data.realm_name;
|
|
61
|
-
|
|
62
|
+
|
|
63
|
+
socket.data.permissionChecker = new PermissionChecker({
|
|
64
|
+
provider: new PermissionMemoryProvider(abilities),
|
|
65
|
+
});
|
|
62
66
|
|
|
63
67
|
switch (data.sub_kind) {
|
|
64
68
|
case OAuth2SubKind.USER: {
|
package/src/types.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import type { Realm, Robot, User } from '@authup/core-kit';
|
|
9
|
-
import type {
|
|
9
|
+
import type { PermissionChecker } from '@authup/access';
|
|
10
10
|
import type {
|
|
11
11
|
Namespace as _Namespace,
|
|
12
12
|
Server as _Server,
|
|
@@ -14,7 +14,7 @@ import type {
|
|
|
14
14
|
} from 'socket.io';
|
|
15
15
|
|
|
16
16
|
export type SocketData = {
|
|
17
|
-
|
|
17
|
+
permissionChecker?: PermissionChecker,
|
|
18
18
|
|
|
19
19
|
realmId?: Realm['id'],
|
|
20
20
|
realmName?: Realm['name'],
|