Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-5815

Remove OIDC from 5.x Driver

    • 3
    • 1
    • Not Needed
    • Hide

      Create a copy of the Kickoff Template with the issue key (NODE-XXX) in the filename and share a link to the new doc via this field.

      Show
      Create a copy of the Kickoff Template with the issue key (NODE-XXX) in the filename and share a link to the new doc via this field.
    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      OIDC Prose tests are failing on the 5.x branch:

      https://spruce.mongodb.com/task/node_driver_5.x_ubuntu20_test_azure_oidc_oidc_auth_test_azure_latest_f524a946ae99caf710220d264819187bd976af53_24_01_08_17_29_21/logs?execution=0

      The authentication is not failing, the expectation is that the db "test" at collection "test" has no documents, but it has at least one.

      1) OIDC Auth Spec Prose Tests
           3. Azure Automatic Auth
             3.1 Connect
               successfully authenticates:
         AssertionError: expected { _id: new ObjectId("659c32802f06cd989ec40f43") } to be null
          at Context.<anonymous> (test/integration/auth/mongodb_oidc_azure.prose.test.ts:42:29)
          at processTicksAndRejections (internal/process/task_queues.js:95:5)
      2) OIDC Auth Spec Prose Tests
           3. Azure Automatic Auth
             3.2 Allowed Hosts Ignored
               successfully authenticates:
         AssertionError: expected { _id: new ObjectId("659c32802f06cd989ec40f43") } to be null
          at Context.<anonymous> (test/integration/auth/mongodb_oidc_azure.prose.test.ts:62:29)
          at processTicksAndRejections (internal/process/task_queues.js:95:5)
      3) OIDC Auth Spec Prose Tests
           3. Azure Automatic Auth
             3.3 Main Cache Not Used
               does not use the main callback cache:
         AssertionError: expected { _id: new ObjectId("659c32802f06cd989ec40f43") } to be null
          at Context.<anonymous> (test/integration/auth/mongodb_oidc_azure.prose.test.ts:80:29)
          at processTicksAndRejections (internal/process/task_queues.js:95:5)
      4) OIDC Auth Spec Prose Tests
           3. Azure Automatic Auth
             3.4 Azure Cache is Used
               uses the Azure OIDC cache:
         AssertionError: expected { _id: new ObjectId("659c32802f06cd989ec40f43") } to be null
          at Context.<anonymous> (test/integration/auth/mongodb_oidc_azure.prose.test.ts:100:29)
          at processTicksAndRejections (internal/process/task_queues.js:95:5)
      

      Have confirmed with devtools that they do not use the 5.x driver for OIDC. The feature is marked as experimental and we can then remove it completely from the 5.x branch.

      AC:

      Implementation:

      • Remove support for the MONGODB-OIDC auth mechanism.
      • Remove all validation around OIDC in the URI parser and MongoCredentials.
      • Remove all OIDC related code from the auth package.

      Testing:

      • Remove the Azure OIDC variant from the Evergreen config.
      • Remove the OIDC tasks from the Evergreen config.
      • Remove all OIDC tests from the manual test directory.
      • Remove all OIDC related unit tests.
      • Remove all OIDC related integration tests.

            Assignee:
            durran.jordan@mongodb.com Durran Jordan
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: