From 6a736ecc6209f5e597b593c43d002e82ae87173f Mon Sep 17 00:00:00 2001 From: Domagoj Kriskovic Date: Wed, 8 Jul 2026 15:18:20 +0200 Subject: [PATCH] refactor(third-party-references): replace simple-oauth2 with a custom OAuth2 client (#34917) * [3rd-party-references] replace simple-oauth2 with openid-client * Refactor OAuth2 handling: replace openid-client with custom OAuth2Client implementation * Guard unconfigured OAuth2 providers with a controlled error Providers whose client id/secret env vars are unset now stay registered but without an OAuth2 client. Using one throws a controlled OError ("OAuth2 provider is not configured") from getOAuth2Client rather than a TypeError from calling a method on undefined or sending "undefined" credentials. * Guard unconfigured OAuth2 providers with a controlled error * Add clarification comments on OAuth 2.0 client ID and secret encoding requirements * Add logging for invalid token expiration dates in parseToken function GitOrigin-RevId: b17884ccba171ff4db8e6a698b3d4dcdca24e8ae --- yarn.lock | 114 ------------------------------------------------------ 1 file changed, 114 deletions(-) diff --git a/yarn.lock b/yarn.lock index f2d3641571..3722a66872 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4199,63 +4199,6 @@ __metadata: languageName: node linkType: hard -"@hapi/boom@npm:^10.0.1": - version: 10.0.1 - resolution: "@hapi/boom@npm:10.0.1" - dependencies: - "@hapi/hoek": "npm:^11.0.2" - checksum: 10c0/e4ae8a69bb67c5687320d320a0706ac66e797a659c19fb1c9b909eaefe3b41780e4ecd4382de1297b10c33e9db81f79667324576b9153f57b0cf701293b908d0 - languageName: node - linkType: hard - -"@hapi/bourne@npm:^3.0.0": - version: 3.0.0 - resolution: "@hapi/bourne@npm:3.0.0" - checksum: 10c0/2e2df62f6bc6f32b980ba5bbdc09200c93c55c8306399ec0f2781da088a82aab699498c89fe94fec4acf770210f9aee28c75bfc2f04044849ac01b034134e717 - languageName: node - linkType: hard - -"@hapi/hoek@npm:^10.0.1": - version: 10.0.1 - resolution: "@hapi/hoek@npm:10.0.1" - checksum: 10c0/320d5dc7a4070fa29e6344a3af9e44854980c6606848f7b7f59715174880cc09a1fe1e8adf44cf887100bd8d6a8664e9dc415986b30dc91df13455f7114de549 - languageName: node - linkType: hard - -"@hapi/hoek@npm:^11.0.2": - version: 11.0.7 - resolution: "@hapi/hoek@npm:11.0.7" - checksum: 10c0/39a4a3ae9526ed66509f6d03c6eb43179a2590df6e98443328c966cfa5e7cbb9d340f61fdbe0afe092662d5377d5a611c3303c808fee26a9c9cfd6bd3737dc1c - languageName: node - linkType: hard - -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f - languageName: node - linkType: hard - -"@hapi/wreck@npm:^18.0.0": - version: 18.1.2 - resolution: "@hapi/wreck@npm:18.1.2" - dependencies: - "@hapi/boom": "npm:^10.0.1" - "@hapi/bourne": "npm:^3.0.0" - "@hapi/hoek": "npm:^11.0.2" - checksum: 10c0/6e2bbfb7f424f16c1182a29ac771d4428409c6e6370deb0a6505ba7897b3ba104c9772a1cde669894c3c4508ede9d7cbb2be4cd66e955440ba102109d89a5ea5 - languageName: node - linkType: hard - "@humanfs/core@npm:^0.19.2": version: 0.19.2 resolution: "@humanfs/core@npm:0.19.2" @@ -7431,7 +7374,6 @@ __metadata: "@overleaf/o-error": "workspace:*" "@overleaf/promise-utils": "workspace:*" "@overleaf/settings": "workspace:*" - "@types/simple-oauth2": "npm:^5.0.7" async: "npm:^3.2.5" bunyan: "npm:^1.8.15" chai: "npm:^4.3.6" @@ -7446,7 +7388,6 @@ __metadata: mongodb-legacy: "npm:6.1.3" oauth: "npm:0.9.15" request: "npm:2.88.2" - simple-oauth2: "npm:^5.0.0" sinon: "npm:9.0.2" sinon-chai: "npm:^3.7.0" typescript: "npm:^5.0.4" @@ -8749,29 +8690,6 @@ __metadata: languageName: node linkType: hard -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 - languageName: node - linkType: hard - "@sinclair/typebox@npm:^0.34.0": version: 0.34.49 resolution: "@sinclair/typebox@npm:0.34.49" @@ -11651,13 +11569,6 @@ __metadata: languageName: node linkType: hard -"@types/simple-oauth2@npm:5.0.7": - version: 5.0.7 - resolution: "@types/simple-oauth2@npm:5.0.7" - checksum: 10c0/1cfb87b1ee4b58b30e4f9753271ea73282e707553b9b3360755064e4c7b1e96a01cabc5e83d13841369595ea7e451d3d576bea02340b4f17f9e930f54c08a15e - languageName: node - linkType: hard - "@types/sinon-chai@npm:^3.2.12": version: 3.2.12 resolution: "@types/sinon-chai@npm:3.2.12" @@ -22326,19 +22237,6 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.6.4": - version: 17.13.3 - resolution: "joi@npm:17.13.3" - dependencies: - "@hapi/hoek": "npm:^9.3.0" - "@hapi/topo": "npm:^5.1.0" - "@sideway/address": "npm:^4.1.5" - "@sideway/formula": "npm:^3.0.1" - "@sideway/pinpoint": "npm:^2.0.0" - checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f - languageName: node - linkType: hard - "jose@npm:4.15.5": version: 4.15.5 resolution: "jose@npm:4.15.5" @@ -30974,18 +30872,6 @@ __metadata: languageName: node linkType: hard -"simple-oauth2@npm:5.0.0": - version: 5.0.0 - resolution: "simple-oauth2@npm:5.0.0" - dependencies: - "@hapi/hoek": "npm:^10.0.1" - "@hapi/wreck": "npm:^18.0.0" - debug: "npm:^4.3.4" - joi: "npm:^17.6.4" - checksum: 10c0/1cb5a4eb9022f656e1bb9a1f43d771dd058d4a4fa181b42d0e1e7ca7b5cfc42e35fad1c722be9bb6fa218398b3b0499010554a7367d2bd85eb9d7634f92546c1 - languageName: node - linkType: hard - "simple-update-notifier@npm:^2.0.0": version: 2.0.0 resolution: "simple-update-notifier@npm:2.0.0"