oxygen-cli 1.40.2-beta.1 → 1.40.2
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 +1750 -1742
- package/LICENSE +672 -672
- package/README.md +37 -37
- package/build/core/OxygenCore.js +1 -1
- package/build/core/OxygenEvents.js +1 -1
- package/build/core/OxygenModule.js +1 -1
- package/build/core/OxygenService.js +1 -1
- package/build/core/OxygenSubModule.js +1 -1
- package/build/core/WebDriverModule.js +1 -1
- package/build/core/utils.js +1 -1
- package/build/errors/HookError.js +1 -1
- package/build/errors/ModuleError.js +1 -1
- package/build/errors/ModuleUnavailableError.js +1 -1
- package/build/errors/OxygenError.js +1 -1
- package/build/errors/ScriptNotFound.js +1 -1
- package/build/errors/helper.js +1 -2
- package/build/index.js +1 -1
- package/build/lib/cli-util.js +1 -5
- package/build/lib/cli.js +1 -1
- package/build/lib/debugger.js +1 -1
- package/build/lib/img-merge.js +1 -1
- package/build/lib/launcher.js +1 -1
- package/build/lib/logger.js +43 -43
- package/build/lib/moduleRequire.js +1 -1
- package/build/lib/parallel-launcher.js +1 -1
- package/build/lib/param-manager.js +1 -1
- package/build/lib/param-reader-csv.js +1 -1
- package/build/lib/param-reader-excel.js +1 -1
- package/build/lib/param-reader-json.js +1 -1
- package/build/lib/text-to-image.js +1 -1
- package/build/lib/util.js +1 -1
- package/build/model/case-result.js +1 -1
- package/build/model/failure.js +1 -1
- package/build/model/status.js +1 -1
- package/build/model/step-result.js +1 -1
- package/build/model/suite-result.js +1 -1
- package/build/model/test-result.js +1 -1
- package/build/model/testcase.js +1 -1
- package/build/model/testsuite.js +1 -1
- package/build/ox_modules/index.js +1 -9
- package/build/ox_modules/module-assert.js +37 -37
- package/build/ox_modules/module-date.js +24 -24
- package/build/ox_modules/module-db.js +52 -52
- package/build/ox_modules/module-email.js +59 -59
- package/build/ox_modules/module-eyes.js +34 -34
- package/build/ox_modules/module-http/ntlm-util.js +10 -10
- package/build/ox_modules/module-http/ntlm.js +15 -15
- package/build/ox_modules/module-http.js +132 -132
- package/build/ox_modules/module-log.js +27 -27
- package/build/ox_modules/module-mailinator.js +87 -87
- package/build/ox_modules/module-mob/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-mob/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-mob/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-mob/commands/assertText.js +21 -21
- package/build/ox_modules/module-mob/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-mob/commands/assertValue.js +18 -18
- package/build/ox_modules/module-mob/commands/back.js +16 -16
- package/build/ox_modules/module-mob/commands/clear.js +19 -19
- package/build/ox_modules/module-mob/commands/click.js +17 -17
- package/build/ox_modules/module-mob/commands/clickHidden.js +17 -17
- package/build/ox_modules/module-mob/commands/clickLong.js +18 -18
- package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +18 -18
- package/build/ox_modules/module-mob/commands/closeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/debug.js +16 -16
- package/build/ox_modules/module-mob/commands/dragAndDrop.js +19 -19
- package/build/ox_modules/module-mob/commands/enableNetwork.js +27 -27
- package/build/ox_modules/module-mob/commands/execute.js +21 -21
- package/build/ox_modules/module-mob/commands/findElement.js +20 -20
- package/build/ox_modules/module-mob/commands/findElements.js +23 -23
- package/build/ox_modules/module-mob/commands/getAlertText.js +17 -17
- package/build/ox_modules/module-mob/commands/getAppiumLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getBrowserLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getCurrentActivity.js +15 -15
- package/build/ox_modules/module-mob/commands/getCurrentPackage.js +15 -15
- package/build/ox_modules/module-mob/commands/getDeviceLogs.js +16 -16
- package/build/ox_modules/module-mob/commands/getDeviceTime.js +16 -16
- package/build/ox_modules/module-mob/commands/getLocation.js +20 -20
- package/build/ox_modules/module-mob/commands/getSource.js +16 -16
- package/build/ox_modules/module-mob/commands/getText.js +18 -18
- package/build/ox_modules/module-mob/commands/getTitle.js +13 -13
- package/build/ox_modules/module-mob/commands/getUrl.js +17 -17
- package/build/ox_modules/module-mob/commands/getValue.js +18 -18
- package/build/ox_modules/module-mob/commands/getWindowHandles.js +17 -17
- package/build/ox_modules/module-mob/commands/hideKeyboard.js +21 -21
- package/build/ox_modules/module-mob/commands/index.js +1 -1
- package/build/ox_modules/module-mob/commands/installApp.js +16 -16
- package/build/ox_modules/module-mob/commands/isAppInstalled.js +16 -16
- package/build/ox_modules/module-mob/commands/isCheckable.js +18 -18
- package/build/ox_modules/module-mob/commands/isChecked.js +18 -18
- package/build/ox_modules/module-mob/commands/isClickable.js +18 -18
- package/build/ox_modules/module-mob/commands/isExist.js +19 -19
- package/build/ox_modules/module-mob/commands/isSelected.js +23 -23
- package/build/ox_modules/module-mob/commands/isVisible.js +19 -19
- package/build/ox_modules/module-mob/commands/isWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/launchApp.js +15 -15
- package/build/ox_modules/module-mob/commands/longPressKeyCode.js +18 -18
- package/build/ox_modules/module-mob/commands/open.js +17 -17
- package/build/ox_modules/module-mob/commands/pause.js +16 -16
- package/build/ox_modules/module-mob/commands/removeApp.js +16 -16
- package/build/ox_modules/module-mob/commands/resetApp.js +15 -15
- package/build/ox_modules/module-mob/commands/scrollIntoElement.js +22 -22
- package/build/ox_modules/module-mob/commands/scrollIntoView.js +27 -27
- package/build/ox_modules/module-mob/commands/select.js +24 -24
- package/build/ox_modules/module-mob/commands/selectFrame.js +23 -23
- package/build/ox_modules/module-mob/commands/selectWindow.js +28 -28
- package/build/ox_modules/module-mob/commands/sendKeys.js +29 -29
- package/build/ox_modules/module-mob/commands/setContext.js +16 -16
- package/build/ox_modules/module-mob/commands/setNativeContext.js +15 -15
- package/build/ox_modules/module-mob/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-mob/commands/setWebViewContext.js +16 -16
- package/build/ox_modules/module-mob/commands/shake.js +16 -16
- package/build/ox_modules/module-mob/commands/smsClickLink.js +19 -19
- package/build/ox_modules/module-mob/commands/smsGetText.js +20 -20
- package/build/ox_modules/module-mob/commands/swipe.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeElement.js +20 -20
- package/build/ox_modules/module-mob/commands/swipeScreen.js +20 -20
- package/build/ox_modules/module-mob/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-mob/commands/tap.js +17 -17
- package/build/ox_modules/module-mob/commands/type.js +20 -20
- package/build/ox_modules/module-mob/commands/unlockPattern.js +22 -22
- package/build/ox_modules/module-mob/commands/waitForExist.js +18 -18
- package/build/ox_modules/module-mob/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-mob/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-mob.js +74 -74
- package/build/ox_modules/module-pdf.js +35 -35
- package/build/ox_modules/module-proxy.js +77 -77
- package/build/ox_modules/module-serial.js +55 -55
- package/build/ox_modules/module-shell.js +52 -33
- package/build/ox_modules/module-soap.js +72 -72
- package/build/ox_modules/module-twilio.js +41 -41
- package/build/ox_modules/module-utils.js +91 -91
- package/build/ox_modules/module-web/commands/alertAccept.js +17 -17
- package/build/ox_modules/module-web/commands/alertDismiss.js +17 -17
- package/build/ox_modules/module-web/commands/assertAlert.js +20 -20
- package/build/ox_modules/module-web/commands/assertExist.js +17 -17
- package/build/ox_modules/module-web/commands/assertSelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/assertSelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/assertText.js +21 -21
- package/build/ox_modules/module-web/commands/assertTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/assertTitle.js +19 -19
- package/build/ox_modules/module-web/commands/assertValue.js +20 -20
- package/build/ox_modules/module-web/commands/back.js +16 -16
- package/build/ox_modules/module-web/commands/clear.js +18 -18
- package/build/ox_modules/module-web/commands/click.js +25 -25
- package/build/ox_modules/module-web/commands/clickHidden.js +23 -23
- package/build/ox_modules/module-web/commands/closeWindow.js +15 -15
- package/build/ox_modules/module-web/commands/debug.js +15 -15
- package/build/ox_modules/module-web/commands/deleteCookies.js +12 -12
- package/build/ox_modules/module-web/commands/deselect.js +22 -22
- package/build/ox_modules/module-web/commands/doubleClick.js +17 -17
- package/build/ox_modules/module-web/commands/dragAndDrop.js +20 -20
- package/build/ox_modules/module-web/commands/execute.js +24 -24
- package/build/ox_modules/module-web/commands/fileBrowse.js +18 -18
- package/build/ox_modules/module-web/commands/findElement.js +19 -19
- package/build/ox_modules/module-web/commands/findElements.js +22 -22
- package/build/ox_modules/module-web/commands/fullscreenWindow.js +14 -14
- package/build/ox_modules/module-web/commands/getAlertText.js +16 -16
- package/build/ox_modules/module-web/commands/getAttribute.js +19 -19
- package/build/ox_modules/module-web/commands/getBrowserLogs.js +17 -17
- package/build/ox_modules/module-web/commands/getCookies.js +13 -13
- package/build/ox_modules/module-web/commands/getCssValue.js +19 -19
- package/build/ox_modules/module-web/commands/getElementCount.js +17 -17
- package/build/ox_modules/module-web/commands/getHTML.js +17 -17
- package/build/ox_modules/module-web/commands/getSource.js +16 -16
- package/build/ox_modules/module-web/commands/getText.js +18 -18
- package/build/ox_modules/module-web/commands/getTitle.js +12 -12
- package/build/ox_modules/module-web/commands/getUrl.js +16 -16
- package/build/ox_modules/module-web/commands/getValue.js +18 -18
- package/build/ox_modules/module-web/commands/getWindowHandles.js +16 -16
- package/build/ox_modules/module-web/commands/getWindowSize.js +16 -16
- package/build/ox_modules/module-web/commands/getXMLPageSource.js +16 -16
- package/build/ox_modules/module-web/commands/index.js +1 -1
- package/build/ox_modules/module-web/commands/isAlertPresent.js +16 -16
- package/build/ox_modules/module-web/commands/isChecked.js +18 -18
- package/build/ox_modules/module-web/commands/isExist.js +19 -19
- package/build/ox_modules/module-web/commands/isInteractable.js +22 -22
- package/build/ox_modules/module-web/commands/isSelected.js +23 -23
- package/build/ox_modules/module-web/commands/isVisible.js +19 -19
- package/build/ox_modules/module-web/commands/makeVisible.js +25 -25
- package/build/ox_modules/module-web/commands/maximizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/minimizeWindow.js +14 -14
- package/build/ox_modules/module-web/commands/mock.js +20 -20
- package/build/ox_modules/module-web/commands/mockClearAll.js +12 -12
- package/build/ox_modules/module-web/commands/mockRestoreAll.js +12 -12
- package/build/ox_modules/module-web/commands/newWindow.js +16 -16
- package/build/ox_modules/module-web/commands/open.js +16 -16
- package/build/ox_modules/module-web/commands/pause.js +15 -15
- package/build/ox_modules/module-web/commands/point.js +21 -21
- package/build/ox_modules/module-web/commands/pointJS.js +15 -15
- package/build/ox_modules/module-web/commands/refresh.js +15 -15
- package/build/ox_modules/module-web/commands/rightClick.js +17 -17
- package/build/ox_modules/module-web/commands/rightClickActions.js +19 -19
- package/build/ox_modules/module-web/commands/scrollToElement.js +21 -21
- package/build/ox_modules/module-web/commands/select.js +23 -23
- package/build/ox_modules/module-web/commands/selectFrame.js +24 -24
- package/build/ox_modules/module-web/commands/selectWindow.js +27 -27
- package/build/ox_modules/module-web/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +20 -20
- package/build/ox_modules/module-web/commands/setTimeout.js +21 -21
- package/build/ox_modules/module-web/commands/setWindowSize.js +17 -17
- package/build/ox_modules/module-web/commands/takeScreenshot.js +17 -17
- package/build/ox_modules/module-web/commands/type.js +20 -20
- package/build/ox_modules/module-web/commands/verifyAlert.js +20 -20
- package/build/ox_modules/module-web/commands/verifyExist.js +17 -17
- package/build/ox_modules/module-web/commands/verifySelectedLabel.js +21 -21
- package/build/ox_modules/module-web/commands/verifySelectedValue.js +21 -21
- package/build/ox_modules/module-web/commands/verifyText.js +21 -21
- package/build/ox_modules/module-web/commands/verifyTextNotPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTextPresent.js +18 -18
- package/build/ox_modules/module-web/commands/verifyTitle.js +19 -19
- package/build/ox_modules/module-web/commands/verifyValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForAngular.js +19 -19
- package/build/ox_modules/module-web/commands/waitForExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForInteractable.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotExist.js +17 -17
- package/build/ox_modules/module-web/commands/waitForNotText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForNotValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForText.js +20 -20
- package/build/ox_modules/module-web/commands/waitForValue.js +20 -20
- package/build/ox_modules/module-web/commands/waitForVisible.js +17 -17
- package/build/ox_modules/module-web/commands/waitForWindow.js +22 -22
- package/build/ox_modules/module-web.js +94 -94
- package/build/ox_modules/module-win/commands/assertText.js +17 -17
- package/build/ox_modules/module-win/commands/assertTitle.js +15 -15
- package/build/ox_modules/module-win/commands/assertValue.js +14 -14
- package/build/ox_modules/module-win/commands/back.js +11 -11
- package/build/ox_modules/module-win/commands/clear.js +13 -13
- package/build/ox_modules/module-win/commands/click.js +13 -13
- package/build/ox_modules/module-win/commands/clickLong.js +14 -14
- package/build/ox_modules/module-win/commands/clickMultipleTimes.js +14 -14
- package/build/ox_modules/module-win/commands/findElement.js +15 -15
- package/build/ox_modules/module-win/commands/findElements.js +15 -15
- package/build/ox_modules/module-win/commands/getAppiumLogs.js +12 -12
- package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +15 -15
- package/build/ox_modules/module-win/commands/getLocation.js +14 -14
- package/build/ox_modules/module-win/commands/getSource.js +12 -12
- package/build/ox_modules/module-win/commands/getText.js +14 -14
- package/build/ox_modules/module-win/commands/getValue.js +14 -14
- package/build/ox_modules/module-win/commands/getWindowHandles.js +15 -15
- package/build/ox_modules/module-win/commands/index.js +1 -1
- package/build/ox_modules/module-win/commands/isCheckable.js +14 -14
- package/build/ox_modules/module-win/commands/isChecked.js +14 -14
- package/build/ox_modules/module-win/commands/isClickable.js +14 -14
- package/build/ox_modules/module-win/commands/isExist.js +15 -15
- package/build/ox_modules/module-win/commands/isSelected.js +14 -14
- package/build/ox_modules/module-win/commands/isVisible.js +15 -15
- package/build/ox_modules/module-win/commands/open.js +13 -13
- package/build/ox_modules/module-win/commands/pause.js +12 -12
- package/build/ox_modules/module-win/commands/rightClick.js +13 -13
- package/build/ox_modules/module-win/commands/selectWindow.js +23 -23
- package/build/ox_modules/module-win/commands/sendKeys.js +22 -22
- package/build/ox_modules/module-win/commands/setTimeout.js +17 -17
- package/build/ox_modules/module-win/commands/takeScreenshot.js +16 -16
- package/build/ox_modules/module-win/commands/tap.js +13 -13
- package/build/ox_modules/module-win/commands/type.js +16 -16
- package/build/ox_modules/module-win/commands/waitForExist.js +14 -14
- package/build/ox_modules/module-win/commands/waitForInteractable.js +16 -16
- package/build/ox_modules/module-win/commands/waitForVisible.js +13 -13
- package/build/ox_modules/module-win.js +47 -47
- package/build/ox_modules/utils.js +8 -8
- package/build/ox_reporters/excel/template.json +48 -48
- package/build/ox_reporters/html/index.ejs +163 -163
- package/build/ox_reporters/html/summary.ejs +77 -77
- package/build/ox_reporters/html/tests-details.ejs +134 -134
- package/build/ox_reporters/html/tests-devices-browsers.ejs +83 -83
- package/build/ox_reporters/reporter-excel.js +1 -1
- package/build/ox_reporters/reporter-html.js +1 -1
- package/build/ox_reporters/reporter-json.js +1 -1
- package/build/ox_reporters/reporter-junit.js +1 -1
- package/build/ox_reporters/reporter-pdf.js +1 -1
- package/build/ox_reporters/reporter-rp.js +73 -42
- package/build/ox_reporters/reporter-xml.js +1 -1
- package/build/ox_services/service-devtools/submodule-network.js +1 -1
- package/build/ox_services/service-devtools.js +1 -1
- package/build/reporter/FileReporterBase.js +1 -1
- package/build/reporter/ReportAggregator.js +5 -13
- package/build/reporter/ReporterBase.js +1 -1
- package/build/reporter/WebSocketReporter.js +1 -1
- package/build/runners/WorkerProcess.js +1 -1
- package/build/runners/cucumber/CucumberEventListener.js +1 -1
- package/build/runners/cucumber/CucumberReporter.js +1 -1
- package/build/runners/cucumber/CucumberWorker.js +1 -1
- package/build/runners/cucumber/index.js +1 -1
- package/build/runners/cucumber/worker.js +1 -1
- package/build/runners/index.js +1 -1
- package/build/runners/oxygen/OxygenWorker.js +1 -1
- package/build/runners/oxygen/index.js +1 -1
- package/build/runners/oxygen/worker.js +1 -1
- package/config/default.json +6 -6
- package/package.json +137 -139
- package/types/index.d.ts +70 -70
- package/types/module-eyes.d.ts +39 -39
- package/types/module-http.d.ts +163 -163
- package/types/module-log.d.ts +34 -34
- package/types/module-mob.d.ts +966 -966
- package/types/module-pdf.d.ts +40 -40
- package/types/module-proxy.d.ts +100 -100
- package/types/module-shell.d.ts +24 -24
- package/types/module-utils.d.ts +99 -99
- package/types/module-web.d.ts +1053 -1053
- package/types/module-win.d.ts +352 -352
- package/types/oxygen.d.ts +53 -53
- package/build/ox_modules/module-mongo.js +0 -302
- package/log.txt +0 -1614
- package/reports/2025-06-08_231627/report.html +0 -440
- package/reports/2025-06-09_223615/report.html +0 -440
- package/transpiled/mongodb/etc/prepare.js +0 -18
- package/transpiled/mongodb/lib/admin.js +0 -182
- package/transpiled/mongodb/lib/beta.js +0 -26
- package/transpiled/mongodb/lib/bson.js +0 -220
- package/transpiled/mongodb/lib/bulk/common.js +0 -1041
- package/transpiled/mongodb/lib/bulk/ordered.js +0 -76
- package/transpiled/mongodb/lib/bulk/unordered.js +0 -102
- package/transpiled/mongodb/lib/change_stream.js +0 -517
- package/transpiled/mongodb/lib/client-side-encryption/auto_encrypter.js +0 -329
- package/transpiled/mongodb/lib/client-side-encryption/client_encryption.js +0 -779
- package/transpiled/mongodb/lib/client-side-encryption/crypto_callbacks.js +0 -95
- package/transpiled/mongodb/lib/client-side-encryption/errors.js +0 -171
- package/transpiled/mongodb/lib/client-side-encryption/mongocryptd_manager.js +0 -98
- package/transpiled/mongodb/lib/client-side-encryption/providers/aws.js +0 -34
- package/transpiled/mongodb/lib/client-side-encryption/providers/azure.js +0 -186
- package/transpiled/mongodb/lib/client-side-encryption/providers/gcp.js +0 -29
- package/transpiled/mongodb/lib/client-side-encryption/providers/index.js +0 -58
- package/transpiled/mongodb/lib/client-side-encryption/state_machine.js +0 -505
- package/transpiled/mongodb/lib/cmap/auth/auth_provider.js +0 -63
- package/transpiled/mongodb/lib/cmap/auth/aws_temporary_credentials.js +0 -167
- package/transpiled/mongodb/lib/cmap/auth/gssapi.js +0 -207
- package/transpiled/mongodb/lib/cmap/auth/mongo_credentials.js +0 -193
- package/transpiled/mongodb/lib/cmap/auth/mongodb_aws.js +0 -181
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/automated_callback_workflow.js +0 -101
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/azure_machine_workflow.js +0 -81
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/callback_workflow.js +0 -174
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/command_builders.js +0 -59
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/gcp_machine_workflow.js +0 -58
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/human_callback_workflow.js +0 -138
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/k8s_machine_workflow.js +0 -42
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_cache.js +0 -71
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc/token_machine_workflow.js +0 -34
- package/transpiled/mongodb/lib/cmap/auth/mongodb_oidc.js +0 -111
- package/transpiled/mongodb/lib/cmap/auth/plain.js +0 -43
- package/transpiled/mongodb/lib/cmap/auth/providers.js +0 -22
- package/transpiled/mongodb/lib/cmap/auth/scram.js +0 -318
- package/transpiled/mongodb/lib/cmap/auth/x509.js +0 -61
- package/transpiled/mongodb/lib/cmap/command_monitoring_events.js +0 -266
- package/transpiled/mongodb/lib/cmap/commands.js +0 -605
- package/transpiled/mongodb/lib/cmap/connect.js +0 -418
- package/transpiled/mongodb/lib/cmap/connection.js +0 -673
- package/transpiled/mongodb/lib/cmap/connection_pool.js +0 -688
- package/transpiled/mongodb/lib/cmap/connection_pool_events.js +0 -254
- package/transpiled/mongodb/lib/cmap/errors.js +0 -128
- package/transpiled/mongodb/lib/cmap/handshake/client_metadata.js +0 -278
- package/transpiled/mongodb/lib/cmap/metrics.js +0 -67
- package/transpiled/mongodb/lib/cmap/stream_description.js +0 -74
- package/transpiled/mongodb/lib/cmap/wire_protocol/compression.js +0 -196
- package/transpiled/mongodb/lib/cmap/wire_protocol/constants.js +0 -19
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_data.js +0 -144
- package/transpiled/mongodb/lib/cmap/wire_protocol/on_demand/document.js +0 -278
- package/transpiled/mongodb/lib/cmap/wire_protocol/responses.js +0 -376
- package/transpiled/mongodb/lib/cmap/wire_protocol/shared.js +0 -49
- package/transpiled/mongodb/lib/collection.js +0 -852
- package/transpiled/mongodb/lib/connection_string.js +0 -1452
- package/transpiled/mongodb/lib/constants.js +0 -162
- package/transpiled/mongodb/lib/cursor/abstract_cursor.js +0 -1082
- package/transpiled/mongodb/lib/cursor/aggregation_cursor.js +0 -227
- package/transpiled/mongodb/lib/cursor/change_stream_cursor.js +0 -136
- package/transpiled/mongodb/lib/cursor/client_bulk_write_cursor.js +0 -69
- package/transpiled/mongodb/lib/cursor/find_cursor.js +0 -476
- package/transpiled/mongodb/lib/cursor/list_collections_cursor.js +0 -48
- package/transpiled/mongodb/lib/cursor/list_indexes_cursor.js +0 -46
- package/transpiled/mongodb/lib/cursor/list_search_indexes_cursor.js +0 -30
- package/transpiled/mongodb/lib/cursor/run_command_cursor.js +0 -125
- package/transpiled/mongodb/lib/db.js +0 -467
- package/transpiled/mongodb/lib/deps.js +0 -174
- package/transpiled/mongodb/lib/encrypter.js +0 -129
- package/transpiled/mongodb/lib/error.js +0 -1550
- package/transpiled/mongodb/lib/explain.js +0 -122
- package/transpiled/mongodb/lib/gridfs/download.js +0 -369
- package/transpiled/mongodb/lib/gridfs/index.js +0 -240
- package/transpiled/mongodb/lib/gridfs/upload.js +0 -446
- package/transpiled/mongodb/lib/index.js +0 -975
- package/transpiled/mongodb/lib/mongo_client.js +0 -626
- package/transpiled/mongodb/lib/mongo_client_auth_providers.js +0 -98
- package/transpiled/mongodb/lib/mongo_logger.js +0 -812
- package/transpiled/mongodb/lib/mongo_types.js +0 -71
- package/transpiled/mongodb/lib/operations/aggregate.js +0 -129
- package/transpiled/mongodb/lib/operations/bulk_write.js +0 -48
- package/transpiled/mongodb/lib/operations/client_bulk_write/client_bulk_write.js +0 -96
- package/transpiled/mongodb/lib/operations/client_bulk_write/command_builder.js +0 -409
- package/transpiled/mongodb/lib/operations/client_bulk_write/common.js +0 -5
- package/transpiled/mongodb/lib/operations/client_bulk_write/executor.js +0 -144
- package/transpiled/mongodb/lib/operations/client_bulk_write/results_merger.js +0 -228
- package/transpiled/mongodb/lib/operations/collections.js +0 -49
- package/transpiled/mongodb/lib/operations/command.js +0 -102
- package/transpiled/mongodb/lib/operations/count.js +0 -60
- package/transpiled/mongodb/lib/operations/create_collection.js +0 -109
- package/transpiled/mongodb/lib/operations/delete.js +0 -134
- package/transpiled/mongodb/lib/operations/distinct.js +0 -77
- package/transpiled/mongodb/lib/operations/drop.js +0 -102
- package/transpiled/mongodb/lib/operations/estimated_document_count.js +0 -47
- package/transpiled/mongodb/lib/operations/execute_operation.js +0 -251
- package/transpiled/mongodb/lib/operations/find.js +0 -197
- package/transpiled/mongodb/lib/operations/find_and_modify.js +0 -191
- package/transpiled/mongodb/lib/operations/get_more.js +0 -84
- package/transpiled/mongodb/lib/operations/indexes.js +0 -197
- package/transpiled/mongodb/lib/operations/insert.js +0 -138
- package/transpiled/mongodb/lib/operations/is_capped.js +0 -44
- package/transpiled/mongodb/lib/operations/kill_cursors.js +0 -58
- package/transpiled/mongodb/lib/operations/list_collections.js +0 -66
- package/transpiled/mongodb/lib/operations/list_databases.js +0 -56
- package/transpiled/mongodb/lib/operations/operation.js +0 -88
- package/transpiled/mongodb/lib/operations/options_operation.js +0 -44
- package/transpiled/mongodb/lib/operations/profiling_level.js +0 -42
- package/transpiled/mongodb/lib/operations/remove_user.js +0 -35
- package/transpiled/mongodb/lib/operations/rename.js +0 -48
- package/transpiled/mongodb/lib/operations/run_command.js +0 -64
- package/transpiled/mongodb/lib/operations/search_indexes/create.js +0 -41
- package/transpiled/mongodb/lib/operations/search_indexes/drop.js +0 -51
- package/transpiled/mongodb/lib/operations/search_indexes/update.js +0 -40
- package/transpiled/mongodb/lib/operations/set_profiling_level.js +0 -70
- package/transpiled/mongodb/lib/operations/stats.js +0 -39
- package/transpiled/mongodb/lib/operations/update.js +0 -218
- package/transpiled/mongodb/lib/operations/validate_collection.js +0 -49
- package/transpiled/mongodb/lib/read_concern.js +0 -92
- package/transpiled/mongodb/lib/read_preference.js +0 -215
- package/transpiled/mongodb/lib/resource_management.js +0 -74
- package/transpiled/mongodb/lib/sdam/common.js +0 -53
- package/transpiled/mongodb/lib/sdam/events.js +0 -177
- package/transpiled/mongodb/lib/sdam/monitor.js +0 -656
- package/transpiled/mongodb/lib/sdam/server.js +0 -463
- package/transpiled/mongodb/lib/sdam/server_description.js +0 -196
- package/transpiled/mongodb/lib/sdam/server_selection.js +0 -283
- package/transpiled/mongodb/lib/sdam/server_selection_events.js +0 -112
- package/transpiled/mongodb/lib/sdam/srv_polling.js +0 -139
- package/transpiled/mongodb/lib/sdam/topology.js +0 -833
- package/transpiled/mongodb/lib/sdam/topology_description.js +0 -447
- package/transpiled/mongodb/lib/sessions.js +0 -988
- package/transpiled/mongodb/lib/sort.js +0 -123
- package/transpiled/mongodb/lib/timeout.js +0 -349
- package/transpiled/mongodb/lib/transactions.js +0 -149
- package/transpiled/mongodb/lib/utils.js +0 -1502
- package/transpiled/mongodb/lib/write_concern.js +0 -115
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.HumanCallbackWorkflow = void 0;
|
|
7
|
-
|
|
8
|
-
const bson_1 = require("../../../bson");
|
|
9
|
-
|
|
10
|
-
const error_1 = require("../../../error");
|
|
11
|
-
|
|
12
|
-
const timeout_1 = require("../../../timeout");
|
|
13
|
-
|
|
14
|
-
const mongodb_oidc_1 = require("../mongodb_oidc");
|
|
15
|
-
|
|
16
|
-
const callback_workflow_1 = require("./callback_workflow");
|
|
17
|
-
/**
|
|
18
|
-
* Class implementing behaviour for the non human callback workflow.
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class HumanCallbackWorkflow extends callback_workflow_1.CallbackWorkflow {
|
|
24
|
-
/**
|
|
25
|
-
* Instantiate the human callback workflow.
|
|
26
|
-
*/
|
|
27
|
-
constructor(cache, callback) {
|
|
28
|
-
super(cache, callback);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Execute the OIDC human callback workflow.
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
async execute(connection, credentials) {
|
|
36
|
-
// Check if the Client Cache has an access token.
|
|
37
|
-
// If it does, cache the access token in the Connection Cache and perform a One-Step SASL conversation
|
|
38
|
-
// using the access token. If the server returns an Authentication error (18),
|
|
39
|
-
// invalidate the access token token from the Client Cache, clear the Connection Cache,
|
|
40
|
-
// and restart the authentication flow. Raise any other errors to the user. On success, exit the algorithm.
|
|
41
|
-
if (this.cache.hasAccessToken) {
|
|
42
|
-
const token = this.cache.getAccessToken();
|
|
43
|
-
connection.accessToken = token;
|
|
44
|
-
|
|
45
|
-
try {
|
|
46
|
-
return await this.finishAuthentication(connection, credentials, token);
|
|
47
|
-
} catch (error) {
|
|
48
|
-
if (error instanceof error_1.MongoError && error.code === error_1.MONGODB_ERROR_CODES.AuthenticationFailed) {
|
|
49
|
-
this.cache.removeAccessToken();
|
|
50
|
-
delete connection.accessToken;
|
|
51
|
-
return await this.execute(connection, credentials);
|
|
52
|
-
} else {
|
|
53
|
-
throw error;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
} // Check if the Client Cache has a refresh token.
|
|
57
|
-
// If it does, call the OIDC Human Callback with the cached refresh token and IdpInfo to get a
|
|
58
|
-
// new access token. Cache the new access token in the Client Cache and Connection Cache.
|
|
59
|
-
// Perform a One-Step SASL conversation using the new access token. If the the server returns
|
|
60
|
-
// an Authentication error (18), clear the refresh token, invalidate the access token from the
|
|
61
|
-
// Client Cache, clear the Connection Cache, and restart the authentication flow. Raise any other
|
|
62
|
-
// errors to the user. On success, exit the algorithm.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if (this.cache.hasRefreshToken) {
|
|
66
|
-
const refreshToken = this.cache.getRefreshToken();
|
|
67
|
-
const result = await this.fetchAccessToken(this.cache.getIdpInfo(), credentials, refreshToken);
|
|
68
|
-
this.cache.put(result);
|
|
69
|
-
connection.accessToken = result.accessToken;
|
|
70
|
-
|
|
71
|
-
try {
|
|
72
|
-
return await this.finishAuthentication(connection, credentials, result.accessToken);
|
|
73
|
-
} catch (error) {
|
|
74
|
-
if (error instanceof error_1.MongoError && error.code === error_1.MONGODB_ERROR_CODES.AuthenticationFailed) {
|
|
75
|
-
this.cache.removeRefreshToken();
|
|
76
|
-
delete connection.accessToken;
|
|
77
|
-
return await this.execute(connection, credentials);
|
|
78
|
-
} else {
|
|
79
|
-
throw error;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
} // Start a new Two-Step SASL conversation.
|
|
83
|
-
// Run a PrincipalStepRequest to get the IdpInfo.
|
|
84
|
-
// Call the OIDC Human Callback with the new IdpInfo to get a new access token and optional refresh
|
|
85
|
-
// token. Drivers MUST NOT pass a cached refresh token to the callback when performing
|
|
86
|
-
// a new Two-Step conversation. Cache the new IdpInfo and refresh token in the Client Cache and the
|
|
87
|
-
// new access token in the Client Cache and Connection Cache.
|
|
88
|
-
// Attempt to authenticate using a JwtStepRequest with the new access token. Raise any errors to the user.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const startResponse = await this.startAuthentication(connection, credentials);
|
|
92
|
-
const conversationId = startResponse.conversationId;
|
|
93
|
-
const idpInfo = bson_1.BSON.deserialize(startResponse.payload.buffer);
|
|
94
|
-
const callbackResponse = await this.fetchAccessToken(idpInfo, credentials);
|
|
95
|
-
this.cache.put(callbackResponse, idpInfo);
|
|
96
|
-
connection.accessToken = callbackResponse.accessToken;
|
|
97
|
-
return await this.finishAuthentication(connection, credentials, callbackResponse.accessToken, conversationId);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Fetches an access token using the callback.
|
|
101
|
-
*/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
async fetchAccessToken(idpInfo, credentials, refreshToken) {
|
|
105
|
-
const controller = new AbortController();
|
|
106
|
-
const params = {
|
|
107
|
-
timeoutContext: controller.signal,
|
|
108
|
-
version: mongodb_oidc_1.OIDC_VERSION,
|
|
109
|
-
idpInfo: idpInfo
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
if (credentials.username) {
|
|
113
|
-
params.username = credentials.username;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (refreshToken) {
|
|
117
|
-
params.refreshToken = refreshToken;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const timeout = timeout_1.Timeout.expires(callback_workflow_1.HUMAN_TIMEOUT_MS);
|
|
121
|
-
|
|
122
|
-
try {
|
|
123
|
-
return await Promise.race([this.executeAndValidateCallback(params), timeout]);
|
|
124
|
-
} catch (error) {
|
|
125
|
-
if (timeout_1.TimeoutError.is(error)) {
|
|
126
|
-
controller.abort();
|
|
127
|
-
throw new error_1.MongoOIDCError(`OIDC callback timed out after ${callback_workflow_1.HUMAN_TIMEOUT_MS}ms.`);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
throw error;
|
|
131
|
-
} finally {
|
|
132
|
-
timeout.clear();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
exports.HumanCallbackWorkflow = HumanCallbackWorkflow;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.callback = void 0;
|
|
7
|
-
|
|
8
|
-
const promises_1 = require("fs/promises");
|
|
9
|
-
/** The fallback file name */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const FALLBACK_FILENAME = '/var/run/secrets/kubernetes.io/serviceaccount/token';
|
|
13
|
-
/** The azure environment variable for the file name. */
|
|
14
|
-
|
|
15
|
-
const AZURE_FILENAME = 'AZURE_FEDERATED_TOKEN_FILE';
|
|
16
|
-
/** The AWS environment variable for the file name. */
|
|
17
|
-
|
|
18
|
-
const AWS_FILENAME = 'AWS_WEB_IDENTITY_TOKEN_FILE';
|
|
19
|
-
/**
|
|
20
|
-
* The callback function to be used in the automated callback workflow.
|
|
21
|
-
* @param params - The OIDC callback parameters.
|
|
22
|
-
* @returns The OIDC response.
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
const callback = async () => {
|
|
26
|
-
let filename;
|
|
27
|
-
|
|
28
|
-
if (process.env[AZURE_FILENAME]) {
|
|
29
|
-
filename = process.env[AZURE_FILENAME];
|
|
30
|
-
} else if (process.env[AWS_FILENAME]) {
|
|
31
|
-
filename = process.env[AWS_FILENAME];
|
|
32
|
-
} else {
|
|
33
|
-
filename = FALLBACK_FILENAME;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const token = await (0, promises_1.readFile)(filename, 'utf8');
|
|
37
|
-
return {
|
|
38
|
-
accessToken: token
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
exports.callback = callback;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.TokenCache = void 0;
|
|
7
|
-
|
|
8
|
-
const error_1 = require("../../../error");
|
|
9
|
-
|
|
10
|
-
class MongoOIDCError extends error_1.MongoDriverError {}
|
|
11
|
-
/** @internal */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class TokenCache {
|
|
15
|
-
get hasAccessToken() {
|
|
16
|
-
return !!this.accessToken;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
get hasRefreshToken() {
|
|
20
|
-
return !!this.refreshToken;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
get hasIdpInfo() {
|
|
24
|
-
return !!this.idpInfo;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
getAccessToken() {
|
|
28
|
-
if (!this.accessToken) {
|
|
29
|
-
throw new MongoOIDCError('Attempted to get an access token when none exists.');
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return this.accessToken;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
getRefreshToken() {
|
|
36
|
-
if (!this.refreshToken) {
|
|
37
|
-
throw new MongoOIDCError('Attempted to get a refresh token when none exists.');
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return this.refreshToken;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getIdpInfo() {
|
|
44
|
-
if (!this.idpInfo) {
|
|
45
|
-
throw new MongoOIDCError('Attempted to get IDP information when none exists.');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return this.idpInfo;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
put(response, idpInfo) {
|
|
52
|
-
this.accessToken = response.accessToken;
|
|
53
|
-
this.refreshToken = response.refreshToken;
|
|
54
|
-
this.expiresInSeconds = response.expiresInSeconds;
|
|
55
|
-
|
|
56
|
-
if (idpInfo) {
|
|
57
|
-
this.idpInfo = idpInfo;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
removeAccessToken() {
|
|
62
|
-
this.accessToken = undefined;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
removeRefreshToken() {
|
|
66
|
-
this.refreshToken = undefined;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
exports.TokenCache = TokenCache;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.callback = void 0;
|
|
7
|
-
|
|
8
|
-
const fs = require("fs");
|
|
9
|
-
|
|
10
|
-
const error_1 = require("../../../error");
|
|
11
|
-
/** Error for when the token is missing in the environment. */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const TOKEN_MISSING_ERROR = 'OIDC_TOKEN_FILE must be set in the environment.';
|
|
15
|
-
/**
|
|
16
|
-
* The callback function to be used in the automated callback workflow.
|
|
17
|
-
* @param params - The OIDC callback parameters.
|
|
18
|
-
* @returns The OIDC response.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
const callback = async () => {
|
|
22
|
-
const tokenFile = process.env.OIDC_TOKEN_FILE;
|
|
23
|
-
|
|
24
|
-
if (!tokenFile) {
|
|
25
|
-
throw new error_1.MongoAWSError(TOKEN_MISSING_ERROR);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const token = await fs.promises.readFile(tokenFile, 'utf8');
|
|
29
|
-
return {
|
|
30
|
-
accessToken: token
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
exports.callback = callback;
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.MongoDBOIDC = exports.OIDC_WORKFLOWS = exports.OIDC_VERSION = void 0;
|
|
7
|
-
|
|
8
|
-
const error_1 = require("../../error");
|
|
9
|
-
|
|
10
|
-
const auth_provider_1 = require("./auth_provider");
|
|
11
|
-
|
|
12
|
-
const automated_callback_workflow_1 = require("./mongodb_oidc/automated_callback_workflow");
|
|
13
|
-
|
|
14
|
-
const azure_machine_workflow_1 = require("./mongodb_oidc/azure_machine_workflow");
|
|
15
|
-
|
|
16
|
-
const gcp_machine_workflow_1 = require("./mongodb_oidc/gcp_machine_workflow");
|
|
17
|
-
|
|
18
|
-
const k8s_machine_workflow_1 = require("./mongodb_oidc/k8s_machine_workflow");
|
|
19
|
-
|
|
20
|
-
const token_cache_1 = require("./mongodb_oidc/token_cache");
|
|
21
|
-
|
|
22
|
-
const token_machine_workflow_1 = require("./mongodb_oidc/token_machine_workflow");
|
|
23
|
-
/** Error when credentials are missing. */
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const MISSING_CREDENTIALS_ERROR = 'AuthContext must provide credentials.';
|
|
27
|
-
/** The current version of OIDC implementation. */
|
|
28
|
-
|
|
29
|
-
exports.OIDC_VERSION = 1;
|
|
30
|
-
/** @internal */
|
|
31
|
-
|
|
32
|
-
exports.OIDC_WORKFLOWS = new Map();
|
|
33
|
-
exports.OIDC_WORKFLOWS.set('test', () => new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), token_machine_workflow_1.callback));
|
|
34
|
-
exports.OIDC_WORKFLOWS.set('azure', () => new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), azure_machine_workflow_1.callback));
|
|
35
|
-
exports.OIDC_WORKFLOWS.set('gcp', () => new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), gcp_machine_workflow_1.callback));
|
|
36
|
-
exports.OIDC_WORKFLOWS.set('k8s', () => new automated_callback_workflow_1.AutomatedCallbackWorkflow(new token_cache_1.TokenCache(), k8s_machine_workflow_1.callback));
|
|
37
|
-
/**
|
|
38
|
-
* OIDC auth provider.
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
class MongoDBOIDC extends auth_provider_1.AuthProvider {
|
|
42
|
-
/**
|
|
43
|
-
* Instantiate the auth provider.
|
|
44
|
-
*/
|
|
45
|
-
constructor(workflow) {
|
|
46
|
-
super();
|
|
47
|
-
|
|
48
|
-
if (!workflow) {
|
|
49
|
-
throw new error_1.MongoInvalidArgumentError('No workflow provided to the OIDC auth provider.');
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
this.workflow = workflow;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Authenticate using OIDC
|
|
56
|
-
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
async auth(authContext) {
|
|
60
|
-
const {
|
|
61
|
-
connection,
|
|
62
|
-
reauthenticating,
|
|
63
|
-
response
|
|
64
|
-
} = authContext;
|
|
65
|
-
|
|
66
|
-
if (response?.speculativeAuthenticate?.done && !reauthenticating) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const credentials = getCredentials(authContext);
|
|
71
|
-
|
|
72
|
-
if (reauthenticating) {
|
|
73
|
-
await this.workflow.reauthenticate(connection, credentials);
|
|
74
|
-
} else {
|
|
75
|
-
await this.workflow.execute(connection, credentials, response);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Add the speculative auth for the initial handshake.
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
async prepare(handshakeDoc, authContext) {
|
|
84
|
-
const {
|
|
85
|
-
connection
|
|
86
|
-
} = authContext;
|
|
87
|
-
const credentials = getCredentials(authContext);
|
|
88
|
-
const result = await this.workflow.speculativeAuth(connection, credentials);
|
|
89
|
-
return { ...handshakeDoc,
|
|
90
|
-
...result
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
exports.MongoDBOIDC = MongoDBOIDC;
|
|
97
|
-
/**
|
|
98
|
-
* Get credentials from the auth context, throwing if they do not exist.
|
|
99
|
-
*/
|
|
100
|
-
|
|
101
|
-
function getCredentials(authContext) {
|
|
102
|
-
const {
|
|
103
|
-
credentials
|
|
104
|
-
} = authContext;
|
|
105
|
-
|
|
106
|
-
if (!credentials) {
|
|
107
|
-
throw new error_1.MongoMissingCredentialsError(MISSING_CREDENTIALS_ERROR);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return credentials;
|
|
111
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.Plain = void 0;
|
|
7
|
-
|
|
8
|
-
const bson_1 = require("../../bson");
|
|
9
|
-
|
|
10
|
-
const error_1 = require("../../error");
|
|
11
|
-
|
|
12
|
-
const utils_1 = require("../../utils");
|
|
13
|
-
|
|
14
|
-
const auth_provider_1 = require("./auth_provider");
|
|
15
|
-
|
|
16
|
-
class Plain extends auth_provider_1.AuthProvider {
|
|
17
|
-
async auth(authContext) {
|
|
18
|
-
const {
|
|
19
|
-
connection,
|
|
20
|
-
credentials
|
|
21
|
-
} = authContext;
|
|
22
|
-
|
|
23
|
-
if (!credentials) {
|
|
24
|
-
throw new error_1.MongoMissingCredentialsError('AuthContext must provide credentials.');
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const {
|
|
28
|
-
username,
|
|
29
|
-
password
|
|
30
|
-
} = credentials;
|
|
31
|
-
const payload = new bson_1.Binary(Buffer.from(`\x00${username}\x00${password}`));
|
|
32
|
-
const command = {
|
|
33
|
-
saslStart: 1,
|
|
34
|
-
mechanism: 'PLAIN',
|
|
35
|
-
payload: payload,
|
|
36
|
-
autoAuthorize: 1
|
|
37
|
-
};
|
|
38
|
-
await connection.command((0, utils_1.ns)('$external.$cmd'), command, undefined);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
exports.Plain = Plain;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.AUTH_MECHS_AUTH_SRC_EXTERNAL = exports.AuthMechanism = void 0;
|
|
7
|
-
/** @public */
|
|
8
|
-
|
|
9
|
-
exports.AuthMechanism = Object.freeze({
|
|
10
|
-
MONGODB_AWS: 'MONGODB-AWS',
|
|
11
|
-
MONGODB_CR: 'MONGODB-CR',
|
|
12
|
-
MONGODB_DEFAULT: 'DEFAULT',
|
|
13
|
-
MONGODB_GSSAPI: 'GSSAPI',
|
|
14
|
-
MONGODB_PLAIN: 'PLAIN',
|
|
15
|
-
MONGODB_SCRAM_SHA1: 'SCRAM-SHA-1',
|
|
16
|
-
MONGODB_SCRAM_SHA256: 'SCRAM-SHA-256',
|
|
17
|
-
MONGODB_X509: 'MONGODB-X509',
|
|
18
|
-
MONGODB_OIDC: 'MONGODB-OIDC'
|
|
19
|
-
});
|
|
20
|
-
/** @internal */
|
|
21
|
-
|
|
22
|
-
exports.AUTH_MECHS_AUTH_SRC_EXTERNAL = new Set([exports.AuthMechanism.MONGODB_GSSAPI, exports.AuthMechanism.MONGODB_AWS, exports.AuthMechanism.MONGODB_OIDC, exports.AuthMechanism.MONGODB_X509]);
|