@furystack/rest-service 9.0.1 → 9.0.3
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/esm/helpers.d.ts.map +1 -1
- package/esm/helpers.js +1 -1
- package/esm/helpers.js.map +1 -1
- package/esm/http-authentication-settings.d.ts +1 -1
- package/esm/http-authentication-settings.d.ts.map +1 -1
- package/esm/http-authentication-settings.js.map +1 -1
- package/esm/http-user-context.d.ts +7 -6
- package/esm/http-user-context.d.ts.map +1 -1
- package/esm/http-user-context.js +17 -2
- package/esm/http-user-context.js.map +1 -1
- package/esm/http-user-context.spec.js +59 -0
- package/esm/http-user-context.spec.js.map +1 -1
- package/esm/request-action-implementation.d.ts +4 -4
- package/esm/request-action-implementation.d.ts.map +1 -1
- package/esm/rest-service.integration.spec.js +1 -3
- package/esm/rest-service.integration.spec.js.map +1 -1
- package/esm/static-server-manager.d.ts.map +1 -1
- package/esm/validate.d.ts +3 -1
- package/esm/validate.d.ts.map +1 -1
- package/esm/validate.integration.spec.js +4 -0
- package/esm/validate.integration.spec.js.map +1 -1
- package/package.json +14 -14
- package/src/helpers.ts +1 -1
- package/src/http-authentication-settings.ts +1 -2
- package/src/http-user-context.spec.ts +78 -0
- package/src/http-user-context.ts +26 -7
- package/src/rest-service.integration.spec.ts +1 -5
- package/src/validate.integration.spec.ts +7 -0
package/esm/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAGrE;;;;GAIG;AACH,eAAO,MAAM,cAAc,2BAAkC,oBAAoB,CAAC,CAAC,kBACpB,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,kEACtB,QAAQ,aACP,QAAQ,2BAA2B,KAAK,EAAE,QAAQ,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAGrE;;;;GAIG;AACH,eAAO,MAAM,cAAc,2BAAkC,oBAAoB,CAAC,CAAC,kBACpB,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,kEACtB,QAAQ,aACP,QAAQ,2BAA2B,KAAK,EAAE,QAAQ,CAAC,CAAC,SACuD,CAAA;AAExH;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,YAAa;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,GAAG,mBAAmB,kBAGnF,CAAA"}
|
package/esm/helpers.js
CHANGED
|
@@ -13,7 +13,7 @@ export const useRestService = async (api) => await api.injector.getInstance(ApiM
|
|
|
13
13
|
* @param settings Settings for HTTP Authentication
|
|
14
14
|
* @returns void
|
|
15
15
|
*/
|
|
16
|
-
export const useHttpAuthentication = (injector, settings) => injector.setExplicitInstance(
|
|
16
|
+
export const useHttpAuthentication = (injector, settings) => injector.setExplicitInstance(Object.assign(new HttpAuthenticationSettings(), settings), HttpAuthenticationSettings);
|
|
17
17
|
/**
|
|
18
18
|
* Sets up a static file server
|
|
19
19
|
* @param options The settings for the static file server
|
package/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAqB,GAA2B,EAAE,EAAE,CACrF,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,QAAkB,EAClB,QAA+D,EAC/D,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAG9E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAqB,GAA2B,EAAE,EAAE,CACrF,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,QAAkB,EAClB,QAA+D,EAC/D,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,0BAA0B,EAAE,EAAE,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAA;AAExH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAqD,EAAE,EAAE;IACtF,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAA;IACzC,OAAO,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAC1E,CAAC,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { DefaultSession } from './models/default-session.js';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class HttpAuthenticationSettings<TUser extends User, TSession extends DefaultSession> {
|
|
9
9
|
model: Constructable<TUser>;
|
|
10
|
-
getUserStore: (
|
|
10
|
+
getUserStore: (sm: StoreManager) => PhysicalStore<User, "username", import("@furystack/core").WithOptionalId<User, "username">>;
|
|
11
11
|
getSessionStore: (storeManager: StoreManager) => PhysicalStore<TSession, keyof TSession>;
|
|
12
12
|
cookieName: string;
|
|
13
13
|
enableBasicAuth: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-authentication-settings.d.ts","sourceRoot":"","sources":["../src/http-authentication-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D;;GAEG;AACH,qBACa,0BAA0B,CAAC,KAAK,SAAS,IAAI,EAAE,QAAQ,SAAS,cAAc;IAClF,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAA+B;IAE1D,YAAY,
|
|
1
|
+
{"version":3,"file":"http-authentication-settings.d.ts","sourceRoot":"","sources":["../src/http-authentication-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D;;GAEG;AACH,qBACa,0BAA0B,CAAC,KAAK,SAAS,IAAI,EAAE,QAAQ,SAAS,cAAc;IAClF,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAA+B;IAE1D,YAAY,OAAQ,YAAY,iGAAqC;IAErE,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,aAAa,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAC,CACI;IAE5F,UAAU,SAAQ;IAClB,eAAe,UAAO;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-authentication-settings.js","sourceRoot":"","sources":["../src/http-authentication-settings.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D;;GAEG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAC9B,KAAK,GAAyB,IAA4B,CAAA;IAE1D,YAAY,
|
|
1
|
+
{"version":3,"file":"http-authentication-settings.js","sourceRoot":"","sources":["../src/http-authentication-settings.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D;;GAEG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAC9B,KAAK,GAAyB,IAA4B,CAAA;IAE1D,YAAY,GAAG,CAAC,EAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAErE,eAAe,GAA4E,CAAC,EAAE,EAAE,EAAE,CACvG,EAAE,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAuD,CAAA;IAE5F,UAAU,GAAG,KAAK,CAAA;IAClB,eAAe,GAAG,IAAI,CAAA;CAC9B,CAAA;AAVY,0BAA0B;IADtC,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;GACzB,0BAA0B,CAUtC"}
|
|
@@ -9,7 +9,7 @@ import type { DefaultSession } from './models/default-session.js';
|
|
|
9
9
|
* Injectable UserContext for FuryStack HTTP Api
|
|
10
10
|
*/
|
|
11
11
|
export declare class HttpUserContext {
|
|
12
|
-
getUserStore: () => import("@furystack/core").PhysicalStore<User,
|
|
12
|
+
getUserStore: () => import("@furystack/core").PhysicalStore<User, "username", import("@furystack/core").WithOptionalId<User, "username">>;
|
|
13
13
|
getSessionStore: () => import("@furystack/core").PhysicalStore<DefaultSession, keyof DefaultSession, import("@furystack/core").WithOptionalId<DefaultSession, keyof DefaultSession>>;
|
|
14
14
|
private getUserByName;
|
|
15
15
|
private getSessionById;
|
|
@@ -33,19 +33,20 @@ export declare class HttpUserContext {
|
|
|
33
33
|
* @returns the authenticated User
|
|
34
34
|
*/
|
|
35
35
|
authenticateUser(userName: string, password: string): Promise<import("@furystack/core").PartialResult<User, (keyof User)[]>>;
|
|
36
|
-
getCurrentUser(request: IncomingMessage): Promise<User>;
|
|
37
|
-
getSessionIdFromRequest(request: IncomingMessage): string | null;
|
|
38
|
-
authenticateRequest(request: IncomingMessage): Promise<User>;
|
|
36
|
+
getCurrentUser(request: Pick<IncomingMessage, 'headers'>): Promise<User>;
|
|
37
|
+
getSessionIdFromRequest(request: Pick<IncomingMessage, 'headers'>): string | null;
|
|
38
|
+
authenticateRequest(request: Pick<IncomingMessage, 'headers'>): Promise<User>;
|
|
39
39
|
/**
|
|
40
40
|
* Creates and sets up a cookie-based session for the provided user
|
|
41
41
|
* @param user The user to create a session for
|
|
42
42
|
* @param serverResponse A serverResponse to set the cookie
|
|
43
43
|
* @returns the current User
|
|
44
44
|
*/
|
|
45
|
-
cookieLogin(user: User, serverResponse: ServerResponse): Promise<User>;
|
|
46
|
-
cookieLogout(request: IncomingMessage, response: ServerResponse): Promise<void>;
|
|
45
|
+
cookieLogin(user: User, serverResponse: Pick<ServerResponse, 'setHeader'>): Promise<User>;
|
|
46
|
+
cookieLogout(request: Pick<IncomingMessage, 'headers'>, response: Pick<ServerResponse, 'setHeader'>): Promise<void>;
|
|
47
47
|
readonly authentication: HttpAuthenticationSettings<User, DefaultSession>;
|
|
48
48
|
private readonly storeManager;
|
|
49
49
|
private readonly authenticator;
|
|
50
|
+
init(): Promise<void>;
|
|
50
51
|
}
|
|
51
52
|
//# sourceMappingURL=http-user-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-user-context.d.ts","sourceRoot":"","sources":["../src/http-user-context.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAG3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAIjE;;GAEG;AACH,qBACa,eAAe;IACnB,YAAY,8HAA4D;IAExE,eAAe,sKAA+D;IAErF,OAAO,CAAC,aAAa,CAOpB;IAED,OAAO,CAAC,cAAc,CAOrB;IAED,OAAO,CAAC,IAAI,CAAC,CAAM;IAEnB;;;OAGG;IACU,eAAe,CAAC,OAAO,EAAE,eAAe;IASrD;;;;;OAKG;IACU,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzF;;;;;OAKG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAanD,cAAc,CAAC,OAAO,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"http-user-context.d.ts","sourceRoot":"","sources":["../src/http-user-context.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAG3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAIjE;;GAEG;AACH,qBACa,eAAe;IACnB,YAAY,8HAA4D;IAExE,eAAe,sKAA+D;IAErF,OAAO,CAAC,aAAa,CAOpB;IAED,OAAO,CAAC,cAAc,CAOrB;IAED,OAAO,CAAC,IAAI,CAAC,CAAM;IAEnB;;;OAGG;IACU,eAAe,CAAC,OAAO,EAAE,eAAe;IASrD;;;;;OAKG;IACU,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzF;;;;;OAKG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAanD,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;IAQ9D,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI;IAkB3E,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1F;;;;;OAKG;IACU,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzF,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;IAYhH,SACwB,cAAc,EAAE,0BAA0B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAExF,iBACyB,YAAY,CAAc;IAEnD,iBACyB,aAAa,CAAuB;IAEhD,IAAI;CAiBlB"}
|
package/esm/http-user-context.js
CHANGED
|
@@ -95,7 +95,7 @@ let HttpUserContext = class HttpUserContext {
|
|
|
95
95
|
.filter((val) => val.length > 0)
|
|
96
96
|
.map((val) => {
|
|
97
97
|
const [name, value] = val.split('=');
|
|
98
|
-
return { name: name
|
|
98
|
+
return { name: name?.trim(), value: value?.trim() };
|
|
99
99
|
});
|
|
100
100
|
const sessionCookie = cookies.find((c) => c.name === this.authentication.cookieName);
|
|
101
101
|
if (sessionCookie) {
|
|
@@ -138,15 +138,30 @@ let HttpUserContext = class HttpUserContext {
|
|
|
138
138
|
return user;
|
|
139
139
|
}
|
|
140
140
|
async cookieLogout(request, response) {
|
|
141
|
+
this.user = undefined;
|
|
141
142
|
const sessionId = this.getSessionIdFromRequest(request);
|
|
142
143
|
response.setHeader('Set-Cookie', `${this.authentication.cookieName}=; Path=/; HttpOnly`);
|
|
143
|
-
this.user = undefined;
|
|
144
144
|
if (sessionId) {
|
|
145
145
|
const sessionStore = this.getSessionStore();
|
|
146
146
|
const sessions = await sessionStore.find({ filter: { sessionId: { $eq: sessionId } } });
|
|
147
147
|
await this.getSessionStore().remove(...sessions.map((s) => s[sessionStore.primaryKey]));
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
|
+
async init() {
|
|
151
|
+
this.getUserStore().addListener('onEntityUpdated', ({ id, change }) => {
|
|
152
|
+
if (this.user?.username === id) {
|
|
153
|
+
this.user = { ...this.user, ...change };
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
this.getUserStore().addListener('onEntityRemoved', ({ key }) => {
|
|
157
|
+
if (this.user?.username === key) {
|
|
158
|
+
this.user = undefined;
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
this.getSessionStore().addListener('onEntityRemoved', () => {
|
|
162
|
+
this.user = undefined; // as user cannot be determined by the session id anymore
|
|
163
|
+
});
|
|
164
|
+
}
|
|
150
165
|
};
|
|
151
166
|
__decorate([
|
|
152
167
|
Injected(HttpAuthenticationSettings),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-user-context.js","sourceRoot":"","sources":["../src/http-user-context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"http-user-context.js","sourceRoot":"","sources":["../src/http-user-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -264,5 +264,64 @@ describe('HttpUserContext', () => {
|
|
|
264
264
|
});
|
|
265
265
|
});
|
|
266
266
|
});
|
|
267
|
+
describe('Changes in the store during the context lifetime', () => {
|
|
268
|
+
it('Should update user roles', () => {
|
|
269
|
+
return usingAsync(new Injector(), async (i) => {
|
|
270
|
+
await prepareInjector(i);
|
|
271
|
+
const ctx = i.getInstance(HttpUserContext);
|
|
272
|
+
const userStore = i.getInstance(StoreManager).getStoreFor(User, 'username');
|
|
273
|
+
userStore.add(testUser);
|
|
274
|
+
const pw = await i.getInstance(PasswordAuthenticator).hasher.createCredential(testUser.username, 'test');
|
|
275
|
+
await i.getInstance(StoreManager).getStoreFor(PasswordCredential, 'userName').add(pw);
|
|
276
|
+
await ctx.cookieLogin(testUser, { setHeader: vi.fn() });
|
|
277
|
+
const originalUser = await ctx.getCurrentUser(request);
|
|
278
|
+
expect(originalUser).toEqual(testUser);
|
|
279
|
+
const updatedUser = { ...testUser, roles: ['newFancyRole'] };
|
|
280
|
+
await userStore.update(testUser.username, updatedUser);
|
|
281
|
+
const updatedUserFromContext = await ctx.getCurrentUser(request);
|
|
282
|
+
expect(updatedUserFromContext.roles).toEqual(['newFancyRole']);
|
|
283
|
+
await userStore.update(testUser.username, { ...updatedUser, roles: [] });
|
|
284
|
+
const reloadedUserFromContext = await ctx.getCurrentUser(request);
|
|
285
|
+
expect(reloadedUserFromContext.roles).toEqual([]);
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
it('Should remove current user when the user is removed from the store', () => {
|
|
289
|
+
return usingAsync(new Injector(), async (i) => {
|
|
290
|
+
await prepareInjector(i);
|
|
291
|
+
const ctx = i.getInstance(HttpUserContext);
|
|
292
|
+
const userStore = i.getInstance(StoreManager).getStoreFor(User, 'username');
|
|
293
|
+
userStore.add(testUser);
|
|
294
|
+
const pw = await i.getInstance(PasswordAuthenticator).hasher.createCredential(testUser.username, 'test');
|
|
295
|
+
await i.getInstance(StoreManager).getStoreFor(PasswordCredential, 'userName').add(pw);
|
|
296
|
+
await ctx.cookieLogin(testUser, { setHeader: vi.fn() });
|
|
297
|
+
const originalUser = await ctx.getCurrentUser(request);
|
|
298
|
+
expect(originalUser).toEqual(testUser);
|
|
299
|
+
await userStore.remove(testUser.username);
|
|
300
|
+
await expect(() => ctx.getCurrentUser(request)).rejects.toThrowError(UnauthenticatedError);
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
it('Should remove current user when the session is removed from the store', () => {
|
|
304
|
+
return usingAsync(new Injector(), async (i) => {
|
|
305
|
+
await prepareInjector(i);
|
|
306
|
+
const ctx = i.getInstance(HttpUserContext);
|
|
307
|
+
const userStore = i.getInstance(StoreManager).getStoreFor(User, 'username');
|
|
308
|
+
userStore.add(testUser);
|
|
309
|
+
let sessionId = '';
|
|
310
|
+
const pw = await i.getInstance(PasswordAuthenticator).hasher.createCredential(testUser.username, 'test');
|
|
311
|
+
await i.getInstance(StoreManager).getStoreFor(PasswordCredential, 'userName').add(pw);
|
|
312
|
+
await ctx.cookieLogin(testUser, {
|
|
313
|
+
setHeader: (_headerName, headerValue) => {
|
|
314
|
+
sessionId = headerValue;
|
|
315
|
+
return {};
|
|
316
|
+
},
|
|
317
|
+
});
|
|
318
|
+
const originalUser = await ctx.getCurrentUser(request);
|
|
319
|
+
expect(originalUser).toEqual(testUser);
|
|
320
|
+
const sessionStore = ctx.getSessionStore();
|
|
321
|
+
await sessionStore.remove(sessionId);
|
|
322
|
+
await expect(() => ctx.getCurrentUser(request)).rejects.toThrowError(UnauthenticatedError);
|
|
323
|
+
});
|
|
324
|
+
});
|
|
325
|
+
});
|
|
267
326
|
});
|
|
268
327
|
//# sourceMappingURL=http-user-context.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-user-context.spec.js","sourceRoot":"","sources":["../src/http-user-context.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-user-context.spec.js","sourceRoot":"","sources":["../src/http-user-context.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,16 +13,16 @@ export interface ActionResult<T> {
|
|
|
13
13
|
}
|
|
14
14
|
export declare const JsonResult: <T extends object>(chunk: T, statusCode?: number, headers?: {
|
|
15
15
|
[K: string]: string;
|
|
16
|
-
}
|
|
16
|
+
}) => ActionResult<T>;
|
|
17
17
|
export declare const PlainTextResult: (text: string, statusCode?: number, headers?: {
|
|
18
18
|
[K: string]: string;
|
|
19
|
-
}
|
|
19
|
+
}) => ActionResult<string>;
|
|
20
20
|
export declare const XmlResult: (text: string, statusCode?: number, headers?: {
|
|
21
21
|
[K: string]: string;
|
|
22
|
-
}
|
|
22
|
+
}) => ActionResult<string>;
|
|
23
23
|
export declare const EmptyResult: (statusCode?: number, headers?: {
|
|
24
24
|
[K: string]: string;
|
|
25
|
-
}
|
|
25
|
+
}) => ActionResult<undefined>;
|
|
26
26
|
export declare const BypassResult: () => ActionResult<"BypassResult">;
|
|
27
27
|
export type RequestActionOptions<T extends {
|
|
28
28
|
result: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-action-implementation.d.ts","sourceRoot":"","sources":["../src/request-action-implementation.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAE3C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAChC,KAAK,EAAE,CAAC,CAAA;CACT;AAED,eAAO,MAAM,UAAU,4BAA6B,CAAC
|
|
1
|
+
{"version":3,"file":"request-action-implementation.d.ts","sourceRoot":"","sources":["../src/request-action-implementation.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAE3C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAChC,KAAK,EAAE,CAAC,CAAA;CACT;AAED,eAAO,MAAM,UAAU,4BAA6B,CAAC,iCAA8B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,oBAQnF,CAAA;AAEvB,eAAO,MAAM,eAAe,SAAU,MAAM,iCAA8B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,yBAQrE,CAAA;AAE5B,eAAO,MAAM,SAAS,SAAU,MAAM,iCAA8B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,yBAQ/D,CAAA;AAE5B,eAAO,MAAM,WAAW,kCAAgC;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,4BAMhD,CAAA;AAE/B,eAAO,MAAM,YAAY,oCAGW,CAAA;AAEpC,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,IAAI;IAChE,OAAO,EAAE,eAAe,CAAA;IACxB,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;CACnB,GAAG,CAAC,CAAC,SAAS;IACb,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAC,CAAA;CACd,GACG;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GAC7B,OAAO,CAAC,GACV,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,GACnF,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,GACjF,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,CAAA;AAE9E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,IAAI,CACzD,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC7B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -9,15 +9,13 @@ import { useHttpAuthentication, useRestService } from './helpers.js';
|
|
|
9
9
|
import { describe, it, expect } from 'vitest';
|
|
10
10
|
import { serializeValue } from '@furystack/rest';
|
|
11
11
|
import { getPort } from '@furystack/core/port-generator';
|
|
12
|
-
class UserWithPassword extends User {
|
|
13
|
-
}
|
|
14
12
|
const createIntegrationApi = async () => {
|
|
15
13
|
const i = new Injector();
|
|
16
14
|
const port = getPort();
|
|
17
15
|
const root = 'test-api';
|
|
18
16
|
addStore(i, new InMemoryStore({ model: User, primaryKey: 'username' })).addStore(new InMemoryStore({ model: DefaultSession, primaryKey: 'sessionId' }));
|
|
19
17
|
useHttpAuthentication(i, {
|
|
20
|
-
getUserStore: (sm) => sm.getStoreFor(
|
|
18
|
+
getUserStore: (sm) => sm.getStoreFor(User, 'username'),
|
|
21
19
|
getSessionStore: (sm) => sm.getStoreFor(DefaultSession, 'sessionId'),
|
|
22
20
|
});
|
|
23
21
|
await useRestService({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-service.integration.spec.js","sourceRoot":"","sources":["../src/rest-service.integration.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,WAAW,CAAA;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE/F,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"rest-service.integration.spec.js","sourceRoot":"","sources":["../src/rest-service.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-server-manager.d.ts","sourceRoot":"","sources":["../src/static-server-manager.ts"],"names":[],"mappings":";;;;AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAkB,MAAM,MAAM,CAAA;AAKhF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B;AAED,qBACa,mBAAmB;IAC9B,iBACyB,aAAa,CAAe;YAEvC,QAAQ;IAwBf,UAAU,YACL,MAAM;
|
|
1
|
+
{"version":3,"file":"static-server-manager.d.ts","sourceRoot":"","sources":["../src/static-server-manager.ts"],"names":[],"mappings":";;;;AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAkB,MAAM,MAAM,CAAA;AAKhF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B;AAED,qBACa,mBAAmB;IAC9B,iBACyB,aAAa,CAAe;YAEvC,QAAQ;IAwBf,UAAU,YACL,MAAM,eACN;QAAE,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAA;KAAE,aAK/C;IAEb,OAAO,CAAC,SAAS,CA0BhB;IAEY,aAAa,CAAC,OAAO,EAAE,mBAAmB;CAQxD"}
|
package/esm/validate.d.ts
CHANGED
package/esm/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,aAAa,EAAwB,MAAM,oCAAoC,CAAA;AAG3G,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,aAAa,EAAwB,MAAM,oCAAoC,CAAA;AAG3G,eAAO,MAAM,QAAQ;iBACa;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG;YAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,GAAG,CAAA;KAAE;sBAAuB;IACnG;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;CACzC;YACoB,GAAG;WAAY,cAAc,CAAC,CAAC,KAAG,cAAc,CAAC,CA6CrE,CAAA"}
|
|
@@ -7,10 +7,14 @@ import schema from './validate.integration.spec.schema.json' assert { type: 'jso
|
|
|
7
7
|
import { useRestService } from './helpers.js';
|
|
8
8
|
import { describe, it, expect } from 'vitest';
|
|
9
9
|
import { getPort } from '@furystack/core/port-generator';
|
|
10
|
+
import { getStoreManager, InMemoryStore, User } from '@furystack/core';
|
|
11
|
+
import { DefaultSession } from './models/default-session.js';
|
|
10
12
|
// To recreate: yarn ts-json-schema-generator -f tsconfig.json --no-type-check -p packages/rest-service/src/validate.integration.schema.ts -o packages/rest-service/src/validate.integration.spec.schema.json
|
|
11
13
|
const createValidateApi = async () => {
|
|
12
14
|
const injector = new Injector();
|
|
13
15
|
const port = getPort();
|
|
16
|
+
getStoreManager(injector).addStore(new InMemoryStore({ model: User, primaryKey: 'username' }));
|
|
17
|
+
getStoreManager(injector).addStore(new InMemoryStore({ model: DefaultSession, primaryKey: 'sessionId' }));
|
|
14
18
|
await useRestService({
|
|
15
19
|
injector,
|
|
16
20
|
api: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.integration.spec.js","sourceRoot":"","sources":["../src/validate.integration.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,MAAM,MAAM,yCAAyC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAA;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"validate.integration.spec.js","sourceRoot":"","sources":["../src/validate.integration.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/rest-service",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.3",
|
|
4
4
|
"description": "Repository implementation for FuryStack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -37,22 +37,22 @@
|
|
|
37
37
|
},
|
|
38
38
|
"homepage": "https://github.com/furystack/furystack",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@furystack/core": "^14.0.
|
|
41
|
-
"@furystack/inject": "^11.0.
|
|
42
|
-
"@furystack/repository": "^9.0.
|
|
43
|
-
"@furystack/rest": "^7.0.
|
|
44
|
-
"@furystack/security": "^5.0.
|
|
45
|
-
"@furystack/utils": "^
|
|
46
|
-
"ajv": "^8.
|
|
47
|
-
"ajv-formats": "^
|
|
48
|
-
"path-to-regexp": "^6.2.
|
|
40
|
+
"@furystack/core": "^14.0.3",
|
|
41
|
+
"@furystack/inject": "^11.0.2",
|
|
42
|
+
"@furystack/repository": "^9.0.3",
|
|
43
|
+
"@furystack/rest": "^7.0.3",
|
|
44
|
+
"@furystack/security": "^5.0.3",
|
|
45
|
+
"@furystack/utils": "^7.0.1",
|
|
46
|
+
"ajv": "^8.13.0",
|
|
47
|
+
"ajv-formats": "^3.0.1",
|
|
48
|
+
"path-to-regexp": "^6.2.2",
|
|
49
49
|
"semaphore-async-await": "^1.5.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@furystack/rest-client-fetch": "^7.0.
|
|
53
|
-
"@types/node": "^20.11
|
|
54
|
-
"typescript": "^5.4.
|
|
55
|
-
"vitest": "^1.
|
|
52
|
+
"@furystack/rest-client-fetch": "^7.0.3",
|
|
53
|
+
"@types/node": "^20.12.11",
|
|
54
|
+
"typescript": "^5.4.5",
|
|
55
|
+
"vitest": "^1.6.0"
|
|
56
56
|
},
|
|
57
57
|
"gitHead": "1045d854bfd8c475b7035471d130d401417a2321"
|
|
58
58
|
}
|
package/src/helpers.ts
CHANGED
|
@@ -25,7 +25,7 @@ export const useRestService = async <T extends RestApi>(api: ImplementApiOptions
|
|
|
25
25
|
export const useHttpAuthentication = <TUser extends User, TSession extends DefaultSession>(
|
|
26
26
|
injector: Injector,
|
|
27
27
|
settings?: Partial<HttpAuthenticationSettings<TUser, TSession>>,
|
|
28
|
-
) => injector.setExplicitInstance(
|
|
28
|
+
) => injector.setExplicitInstance(Object.assign(new HttpAuthenticationSettings(), settings), HttpAuthenticationSettings)
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Sets up a static file server
|
|
@@ -11,8 +11,7 @@ import { DefaultSession } from './models/default-session.js'
|
|
|
11
11
|
export class HttpAuthenticationSettings<TUser extends User, TSession extends DefaultSession> {
|
|
12
12
|
public model: Constructable<TUser> = User as Constructable<TUser>
|
|
13
13
|
|
|
14
|
-
public getUserStore
|
|
15
|
-
sm.getStoreFor<TUser, keyof TUser>(User as any, 'username')
|
|
14
|
+
public getUserStore = (sm: StoreManager) => sm.getStoreFor(User, 'username')
|
|
16
15
|
|
|
17
16
|
public getSessionStore: (storeManager: StoreManager) => PhysicalStore<TSession, keyof TSession> = (sm) =>
|
|
18
17
|
sm.getStoreFor(DefaultSession, 'sessionId') as unknown as PhysicalStore<TSession, keyof TSession>
|
|
@@ -310,4 +310,82 @@ describe('HttpUserContext', () => {
|
|
|
310
310
|
})
|
|
311
311
|
})
|
|
312
312
|
})
|
|
313
|
+
|
|
314
|
+
describe('Changes in the store during the context lifetime', () => {
|
|
315
|
+
it('Should update user roles', () => {
|
|
316
|
+
return usingAsync(new Injector(), async (i) => {
|
|
317
|
+
await prepareInjector(i)
|
|
318
|
+
const ctx = i.getInstance(HttpUserContext)
|
|
319
|
+
const userStore = i.getInstance(StoreManager).getStoreFor(User, 'username')
|
|
320
|
+
userStore.add(testUser)
|
|
321
|
+
|
|
322
|
+
const pw = await i.getInstance(PasswordAuthenticator).hasher.createCredential(testUser.username, 'test')
|
|
323
|
+
await i.getInstance(StoreManager).getStoreFor(PasswordCredential, 'userName').add(pw)
|
|
324
|
+
|
|
325
|
+
await ctx.cookieLogin(testUser, { setHeader: vi.fn() })
|
|
326
|
+
|
|
327
|
+
const originalUser = await ctx.getCurrentUser(request)
|
|
328
|
+
expect(originalUser).toEqual(testUser)
|
|
329
|
+
|
|
330
|
+
const updatedUser = { ...testUser, roles: ['newFancyRole'] }
|
|
331
|
+
await userStore.update(testUser.username, updatedUser)
|
|
332
|
+
const updatedUserFromContext = await ctx.getCurrentUser(request)
|
|
333
|
+
expect(updatedUserFromContext.roles).toEqual(['newFancyRole'])
|
|
334
|
+
|
|
335
|
+
await userStore.update(testUser.username, { ...updatedUser, roles: [] })
|
|
336
|
+
const reloadedUserFromContext = await ctx.getCurrentUser(request)
|
|
337
|
+
expect(reloadedUserFromContext.roles).toEqual([])
|
|
338
|
+
})
|
|
339
|
+
})
|
|
340
|
+
|
|
341
|
+
it('Should remove current user when the user is removed from the store', () => {
|
|
342
|
+
return usingAsync(new Injector(), async (i) => {
|
|
343
|
+
await prepareInjector(i)
|
|
344
|
+
const ctx = i.getInstance(HttpUserContext)
|
|
345
|
+
const userStore = i.getInstance(StoreManager).getStoreFor(User, 'username')
|
|
346
|
+
userStore.add(testUser)
|
|
347
|
+
|
|
348
|
+
const pw = await i.getInstance(PasswordAuthenticator).hasher.createCredential(testUser.username, 'test')
|
|
349
|
+
await i.getInstance(StoreManager).getStoreFor(PasswordCredential, 'userName').add(pw)
|
|
350
|
+
|
|
351
|
+
await ctx.cookieLogin(testUser, { setHeader: vi.fn() })
|
|
352
|
+
|
|
353
|
+
const originalUser = await ctx.getCurrentUser(request)
|
|
354
|
+
expect(originalUser).toEqual(testUser)
|
|
355
|
+
|
|
356
|
+
await userStore.remove(testUser.username)
|
|
357
|
+
|
|
358
|
+
await expect(() => ctx.getCurrentUser(request)).rejects.toThrowError(UnauthenticatedError)
|
|
359
|
+
})
|
|
360
|
+
})
|
|
361
|
+
|
|
362
|
+
it('Should remove current user when the session is removed from the store', () => {
|
|
363
|
+
return usingAsync(new Injector(), async (i) => {
|
|
364
|
+
await prepareInjector(i)
|
|
365
|
+
const ctx = i.getInstance(HttpUserContext)
|
|
366
|
+
const userStore = i.getInstance(StoreManager).getStoreFor(User, 'username')
|
|
367
|
+
userStore.add(testUser)
|
|
368
|
+
|
|
369
|
+
let sessionId = ''
|
|
370
|
+
|
|
371
|
+
const pw = await i.getInstance(PasswordAuthenticator).hasher.createCredential(testUser.username, 'test')
|
|
372
|
+
await i.getInstance(StoreManager).getStoreFor(PasswordCredential, 'userName').add(pw)
|
|
373
|
+
|
|
374
|
+
await ctx.cookieLogin(testUser, {
|
|
375
|
+
setHeader: (_headerName, headerValue) => {
|
|
376
|
+
sessionId = headerValue as string
|
|
377
|
+
return {} as ServerResponse
|
|
378
|
+
},
|
|
379
|
+
})
|
|
380
|
+
|
|
381
|
+
const originalUser = await ctx.getCurrentUser(request)
|
|
382
|
+
expect(originalUser).toEqual(testUser)
|
|
383
|
+
|
|
384
|
+
const sessionStore = ctx.getSessionStore()
|
|
385
|
+
await sessionStore.remove(sessionId as string)
|
|
386
|
+
|
|
387
|
+
await expect(() => ctx.getCurrentUser(request)).rejects.toThrowError(UnauthenticatedError)
|
|
388
|
+
})
|
|
389
|
+
})
|
|
390
|
+
})
|
|
313
391
|
})
|
package/src/http-user-context.ts
CHANGED
|
@@ -84,7 +84,7 @@ export class HttpUserContext {
|
|
|
84
84
|
return user
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
public async getCurrentUser(request: IncomingMessage) {
|
|
87
|
+
public async getCurrentUser(request: Pick<IncomingMessage, 'headers'>) {
|
|
88
88
|
if (!this.user) {
|
|
89
89
|
this.user = await this.authenticateRequest(request)
|
|
90
90
|
return this.user
|
|
@@ -92,7 +92,7 @@ export class HttpUserContext {
|
|
|
92
92
|
return this.user
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
public getSessionIdFromRequest(request: IncomingMessage): string | null {
|
|
95
|
+
public getSessionIdFromRequest(request: Pick<IncomingMessage, 'headers'>): string | null {
|
|
96
96
|
if (request.headers.cookie) {
|
|
97
97
|
const cookies = request.headers.cookie
|
|
98
98
|
.toString()
|
|
@@ -100,7 +100,7 @@ export class HttpUserContext {
|
|
|
100
100
|
.filter((val) => val.length > 0)
|
|
101
101
|
.map((val) => {
|
|
102
102
|
const [name, value] = val.split('=')
|
|
103
|
-
return { name: name
|
|
103
|
+
return { name: name?.trim(), value: value?.trim() }
|
|
104
104
|
})
|
|
105
105
|
const sessionCookie = cookies.find((c) => c.name === this.authentication.cookieName)
|
|
106
106
|
if (sessionCookie) {
|
|
@@ -110,7 +110,7 @@ export class HttpUserContext {
|
|
|
110
110
|
return null
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
public async authenticateRequest(request: IncomingMessage): Promise<User> {
|
|
113
|
+
public async authenticateRequest(request: Pick<IncomingMessage, 'headers'>): Promise<User> {
|
|
114
114
|
// Basic auth
|
|
115
115
|
if (this.authentication.enableBasicAuth && request.headers.authorization) {
|
|
116
116
|
const authData = Buffer.from(request.headers.authorization.toString().split(' ')[1], 'base64')
|
|
@@ -139,7 +139,7 @@ export class HttpUserContext {
|
|
|
139
139
|
* @param serverResponse A serverResponse to set the cookie
|
|
140
140
|
* @returns the current User
|
|
141
141
|
*/
|
|
142
|
-
public async cookieLogin(user: User, serverResponse: ServerResponse): Promise<User> {
|
|
142
|
+
public async cookieLogin(user: User, serverResponse: Pick<ServerResponse, 'setHeader'>): Promise<User> {
|
|
143
143
|
const sessionId = randomBytes(32).toString('hex')
|
|
144
144
|
await this.getSessionStore().add({ sessionId, username: user.username })
|
|
145
145
|
serverResponse.setHeader('Set-Cookie', `${this.authentication.cookieName}=${sessionId}; Path=/; HttpOnly`)
|
|
@@ -147,10 +147,11 @@ export class HttpUserContext {
|
|
|
147
147
|
return user
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
public async cookieLogout(request: IncomingMessage, response: ServerResponse) {
|
|
150
|
+
public async cookieLogout(request: Pick<IncomingMessage, 'headers'>, response: Pick<ServerResponse, 'setHeader'>) {
|
|
151
|
+
this.user = undefined
|
|
151
152
|
const sessionId = this.getSessionIdFromRequest(request)
|
|
152
153
|
response.setHeader('Set-Cookie', `${this.authentication.cookieName}=; Path=/; HttpOnly`)
|
|
153
|
-
|
|
154
|
+
|
|
154
155
|
if (sessionId) {
|
|
155
156
|
const sessionStore = this.getSessionStore()
|
|
156
157
|
const sessions = await sessionStore.find({ filter: { sessionId: { $eq: sessionId } } })
|
|
@@ -166,4 +167,22 @@ export class HttpUserContext {
|
|
|
166
167
|
|
|
167
168
|
@Injected(PasswordAuthenticator)
|
|
168
169
|
private declare readonly authenticator: PasswordAuthenticator
|
|
170
|
+
|
|
171
|
+
public async init() {
|
|
172
|
+
this.getUserStore().addListener('onEntityUpdated', ({ id, change }) => {
|
|
173
|
+
if (this.user?.username === id) {
|
|
174
|
+
this.user = { ...this.user, ...change }
|
|
175
|
+
}
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
this.getUserStore().addListener('onEntityRemoved', ({ key }) => {
|
|
179
|
+
if (this.user?.username === key) {
|
|
180
|
+
this.user = undefined
|
|
181
|
+
}
|
|
182
|
+
})
|
|
183
|
+
|
|
184
|
+
this.getSessionStore().addListener('onEntityRemoved', () => {
|
|
185
|
+
this.user = undefined // as user cannot be determined by the session id anymore
|
|
186
|
+
})
|
|
187
|
+
}
|
|
169
188
|
}
|
|
@@ -11,10 +11,6 @@ import { describe, it, expect } from 'vitest'
|
|
|
11
11
|
import { serializeValue } from '@furystack/rest'
|
|
12
12
|
import { getPort } from '@furystack/core/port-generator'
|
|
13
13
|
|
|
14
|
-
class UserWithPassword extends User {
|
|
15
|
-
declare password: string
|
|
16
|
-
}
|
|
17
|
-
|
|
18
14
|
interface IntegrationTestApi extends RestApi {
|
|
19
15
|
GET: {
|
|
20
16
|
'/isAuthenticated': { result: { isAuthenticated: boolean } }
|
|
@@ -38,7 +34,7 @@ const createIntegrationApi = async () => {
|
|
|
38
34
|
new InMemoryStore({ model: DefaultSession, primaryKey: 'sessionId' }),
|
|
39
35
|
)
|
|
40
36
|
useHttpAuthentication(i, {
|
|
41
|
-
getUserStore: (sm) => sm.getStoreFor(
|
|
37
|
+
getUserStore: (sm) => sm.getStoreFor(User, 'username'),
|
|
42
38
|
getSessionStore: (sm) => sm.getStoreFor(DefaultSession, 'sessionId'),
|
|
43
39
|
})
|
|
44
40
|
await useRestService<IntegrationTestApi>({
|
|
@@ -8,12 +8,18 @@ import type { ValidationApi } from './validate.integration.schema.js'
|
|
|
8
8
|
import { useRestService } from './helpers.js'
|
|
9
9
|
import { describe, it, expect } from 'vitest'
|
|
10
10
|
import { getPort } from '@furystack/core/port-generator'
|
|
11
|
+
import { getStoreManager, InMemoryStore, User } from '@furystack/core'
|
|
12
|
+
import { DefaultSession } from './models/default-session.js'
|
|
11
13
|
|
|
12
14
|
// To recreate: yarn ts-json-schema-generator -f tsconfig.json --no-type-check -p packages/rest-service/src/validate.integration.schema.ts -o packages/rest-service/src/validate.integration.spec.schema.json
|
|
13
15
|
|
|
14
16
|
const createValidateApi = async () => {
|
|
15
17
|
const injector = new Injector()
|
|
16
18
|
const port = getPort()
|
|
19
|
+
|
|
20
|
+
getStoreManager(injector).addStore(new InMemoryStore({ model: User, primaryKey: 'username' }))
|
|
21
|
+
getStoreManager(injector).addStore(new InMemoryStore({ model: DefaultSession, primaryKey: 'sessionId' }))
|
|
22
|
+
|
|
17
23
|
await useRestService<ValidationApi>({
|
|
18
24
|
injector,
|
|
19
25
|
api: {
|
|
@@ -56,6 +62,7 @@ const createValidateApi = async () => {
|
|
|
56
62
|
const client = createClient<ValidationApi>({
|
|
57
63
|
endpointUrl: `http://127.0.0.1:${port}/api`,
|
|
58
64
|
})
|
|
65
|
+
|
|
59
66
|
return {
|
|
60
67
|
dispose: injector.dispose.bind(injector),
|
|
61
68
|
client,
|