Test and document "accessToken" form of KMS providers

XMLWordPrintableJSON

    • Needed
    • Hide

      Summary of necessary driver changes

      •  

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

      •  

      Context for other referenced/linked tickets

      •  
      Show
      Summary of necessary driver changes   Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed)   Context for other referenced/linked tickets  
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6270 Blocked
      CXX-3436 Blocked
      CSHARP-5932 Blocked
      GODRIVER-3839 Blocked
      JAVA-6136 Blocked
      NODE-7475 Blocked
      PYTHON-5759 Blocked
      PHPLIB-1811 Blocked
      RUBY-3791 Blocked
      RUST-2381 Blocked
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-6270 Blocked CXX-3436 Blocked CSHARP-5932 Blocked GODRIVER-3839 Blocked JAVA-6136 Blocked NODE-7475 Blocked PYTHON-5759 Blocked PHPLIB-1811 Blocked RUBY-3791 Blocked RUST-2381 Blocked

      Summary

      Test and document "accessToken" form of KMS providers.

      Background

      The specification describes two forms of the "azure" and "gcp" KMS providers options:

      type AzureKMSOptions = AzureKMSCredentials | AzureAccessToken;
      
      interface AzureKMSCredentials {
         tenantId: string;
         clientId: string;
         clientSecret: string;
         identityPlatformEndpoint?: string; // Defaults to login.microsoftonline.com
      };
      
      interface AzureAccessToken {
         accessToken: string;
      };
      
      type GCPKMSOptions = GCPKMSCredentials | GCPKMSAccessToken
      
      interface GCPKMSCredentials {
         email: string;
         privateKey: byte[] | string; // May be passed as a base64 encoded string.
         endpoint?: string; // Defaults to oauth2.googleapis.com
      };
      
      interface GCPKMSAccessToken {
         accessToken: string;
      }
      

      Some driver docs do not include the "accessToken" form: C, Java, PyMongo. There are no spec/prose tests for the form either.

      Motivation

      Caused confusion in HELP-60485 and HELP-83540.

      Is this issue urgent?

      No?

            Assignee:
            Kevin Albertson
            Reporter:
            Kevin Albertson
            Kevin Albertson Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: