- 
    Type:Improvement 
- 
    Resolution: Done
- 
    Priority:Major - P3 
- 
    None
- 
    Component/s: None
- 
    None
MongoDB 3.4 will automatically extract the username from the provided certificate, so the authenticate command no longer requires it.
See the recent update to the spec:
https://github.com/mongodb/specifications/commit/964a8aa571040208bd5e5443241b3bb628fb535f
Validation requirements:
- When connected to MongoDB 3.4:
	- You MUST NOT raise an error when the application only provides an X.509 certificate and no username.
- If the application does not provide a username you MUST NOT send a username to the server.
- If the application provides a username you MUST send that username to the server.
 
- When connected to MongoDB 3.2 or earlier:
	- You MUST send a username to the server.
- If no username is provided by the application, you MAY extract the username from the X.509 certificate instead of requiring the application to provide it.
- If you choose not to automatically extract the username from the certificate you MUST error when no username is provided by the application.
 
- depends on
- 
                    CSHARP-1822 Username no longer required for MONGODB-X509 auth -         
- Closed
 
-         
- 
                    CXX-1123 username no longer required for MONGODB-X509 auth -         
- Closed
 
-         
- 
                    CXX-1124 Username no longer required for MONGODB-X509 auth -         
- Closed
 
-         
- 
                    JAVA-2375 Make username optional for MONGODB-X509 authentication mechanism -         
- Closed
 
-         
- 
                    NODE-849 username no longer required for MONGODB-X509 auth -         
- Closed
 
-         
- 
                    PYTHON-1184 username no longer required for MONGODB-X509 auth -         
- Closed
 
-         
- 
                    RUBY-1171 username no longer required for MONGODB-X509 auth -         
- Closed
 
-