diff --git a/backend/package.json b/backend/package.json index e69bd5aa7..933516004 100644 --- a/backend/package.json +++ b/backend/package.json @@ -51,8 +51,6 @@ "class-transformer": "0.5.1", "class-validator": "0.14.3", "cli-color": "2.0.4", - "cookie": "1.1.1", - "cookie-signature": "1.2.2", "diff": "8.0.3", "file-type": "16.5.4", "htmlparser2": "9.1.0", diff --git a/backend/src/sessions/session.service.spec.ts b/backend/src/sessions/session.service.spec.ts index 2d2c6cf1f..5d1946c4a 100644 --- a/backend/src/sessions/session.service.spec.ts +++ b/backend/src/sessions/session.service.spec.ts @@ -7,8 +7,7 @@ import { Provider } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; import { FieldNameSession, TableSession } from '@hedgedoc/database'; -import { serialize } from 'cookie'; -import { sign } from 'cookie-signature'; +import { fastifyCookie } from '@fastify/cookie'; import type { Tracker } from 'knex-mock-client'; import { IncomingMessage } from 'node:http'; import { Socket } from 'node:net'; @@ -101,18 +100,22 @@ describe('SessionService', () => { }); it('returns empty Optional if cookie is malformed', async () => { const testRequest = new IncomingMessage(mockSocket); - testRequest.headers.cookie = serialize(HEDGEDOC_SESSION, 'foo', {}); + testRequest.headers.cookie = fastifyCookie.serialize(HEDGEDOC_SESSION, 'foo', {}); expect(() => service.extractSessionIdFromRequest(testRequest)).toThrow(Error); }); it('returns empty Optional if cookie has invalid signature', async () => { const testRequest = new IncomingMessage(mockSocket); - testRequest.headers.cookie = serialize(HEDGEDOC_SESSION, `s:${sessionId}:fakeSignature`, {}); + testRequest.headers.cookie = fastifyCookie.serialize( + HEDGEDOC_SESSION, + `s:${sessionId}:fakeSignature`, + {}, + ); expect(() => service.extractSessionIdFromRequest(testRequest)).toThrow(Error); }); it('returns the correct id for session id', () => { - const signature = sign(sessionId, authConfig.session.secret); + const signature = fastifyCookie.sign(sessionId, authConfig.session.secret); const testRequest = new IncomingMessage(mockSocket); - testRequest.headers.cookie = serialize(HEDGEDOC_SESSION, `s:${signature}`, {}); + testRequest.headers.cookie = fastifyCookie.serialize(HEDGEDOC_SESSION, `s:${signature}`, {}); expect(service.extractSessionIdFromRequest(testRequest)).toEqual(sessionId); }); }); diff --git a/yarn.lock b/yarn.lock index f4e77e9f8..b20359969 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2898,8 +2898,6 @@ __metadata: class-transformer: "npm:0.5.1" class-validator: "npm:0.14.3" cli-color: "npm:2.0.4" - cookie: "npm:1.1.1" - cookie-signature: "npm:1.2.2" diff: "npm:8.0.3" file-type: "npm:16.5.4" htmlparser2: "npm:9.1.0" @@ -8095,13 +8093,6 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:1.2.2": - version: 1.2.2 - resolution: "cookie-signature@npm:1.2.2" - checksum: 10c0/54e05df1a293b3ce81589b27dddc445f462f6fa6812147c033350cd3561a42bc14481674e05ed14c7bd0ce1e8bb3dc0e40851bad75415733711294ddce0b7bc6 - languageName: node - linkType: hard - "cookie@npm:*": version: 1.0.1 resolution: "cookie@npm:1.0.1" @@ -8109,7 +8100,7 @@ __metadata: languageName: node linkType: hard -"cookie@npm:1.1.1, cookie@npm:^1.0.0, cookie@npm:^1.0.1": +"cookie@npm:^1.0.0, cookie@npm:^1.0.1": version: 1.1.1 resolution: "cookie@npm:1.1.1" checksum: 10c0/79c4ddc0fcad9c4f045f826f42edf54bcc921a29586a4558b0898277fa89fb47be95bc384c2253f493af7b29500c830da28341274527328f18eba9f58afa112c