You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claudio Miranda (Jira)" <ji...@apache.org> on 2021/06/17 00:07:00 UTC

[jira] [Commented] (CAMEL-16729) MongoDB Authentication failed when using hosts query parameter

    [ https://issues.apache.org/jira/browse/CAMEL-16729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17364606#comment-17364606 ] 

Claudio Miranda commented on CAMEL-16729:
-----------------------------------------

Related to this change https://issues.apache.org/jira/browse/CAMEL-16729

> MongoDB Authentication failed when using hosts query parameter
> --------------------------------------------------------------
>
>                 Key: CAMEL-16729
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16729
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-mongodb
>            Reporter: Claudio Miranda
>            Priority: Major
>
> I am using the mongodb url
> {code}
> mongodb://?collection=sales&database=sales&hosts=172.17.0.7%3A27017&operation=findAll&password=xxxxxx&username=myuser
> {code}
> When using the hosts parameter to authenticate to a mongodb server, it fails with
> {code:java}
> Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server 172.17.0.7:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
> {code}
> mongo server shows
> {code:java}
> "Authentication failed","attr":{"mechanism":"SCRAM-SHA-1","speculative":false,"principalName":"myuser","authenticationDatabase":"admin","remote":"172.17.0.6:60642","extraInfo":{},"error":"UserNotFound: Could not find user \"myuser\" for db \"admin\""
> {code}
> MongoDB connection string uses *admin* database when no authentication database is specified
>  [https://github.com/mongodb/mongo-java-driver/blob/r4.1.0/driver-core/src/main/com/mongodb/ConnectionString.java#L63]
>  [https://github.com/mongodb/mongo-java-driver/blob/r4.1.0/driver-core/src/main/com/mongodb/ConnectionString.java#L729]
> I think the database should be used in camel-mongodb authentication mechanism, at least I changed the code and it worked.
> {code:java}
> mongoClient = MongoClients.create(String.format("mongodb://%s%s", credentials, hosts));
> {code}
> [https://github.com/apache/camel/blob/main/components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbEndpoint.java#L344]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)