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
This commit is contained in:
Domagoj Kriskovic
2026-09-17 11:21:13 +00:00
committed by Copybot
parent cb5e36340b
commit 6a736ecc62
-114
View File
@@ -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"