Repository: quarkusio/quarkus
Issue: Quarkus Liquibase MongoDB extension properties not used

### Describe the bug

Quarkus Liquibase extension doesn't respect quarkus mongodb properties as it is expected. 
Liquibase extension only uses 3 properties: 
- `connection string`, 
- `username` 
- `password`. 

This can be checked in `io.quarkus.liquibase.mongodb.LiquibaseMongodbFactory` in `createLiquibase` method.
This will lead to an error on application startup if you are using quarkus properties for MongoDB configuration, for an example
`quarkus.mongodb.credentials.auth-source` or `quarkus.mongodb.database` instead of adding all this params to connection string.

### Expected behavior

Quarkus mongodb properties are repsected by `quarkus-liquibase-mongodb` extension

### Actual behavior

Application throws error on starup.

This error will showup if authSource and db not present in connString.
```
com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed)
```

This error will showup if authSource present in connString but no db specified.
```
java.lang.IllegalArgumentException: Database not specified in URL
	at liquibase.ext.mongodb.database.MongoConnection.open(MongoConnection.java:110)
	at liquibase.database.ConnectionServiceFactory.create(ConnectionServiceFactory.java:32)
	at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:214)
	at liquibase.database.DatabaseFactory.openConnection(DatabaseFactory.java:176)
	at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:141)
	at liquibase.database.DatabaseFactory.openDatabase(DatabaseFactory.java:130)
	at io.quarkus.liquibase.mongodb.LiquibaseMongodbFactory.createLiquibase(LiquibaseMongodbFactory.java:42)
	at io.quarkus.liquibase.mongodb.LiquibaseMongodbFactory_959fd9b7b35a536942315a4e37b512f2717c8f52_Synthetic_ClientProxy.createLiquibase(Unknown Source)
	at io.quarkus.liquibase.mongodb.runtime.LiquibaseMongodbRecorder.doStartActions(LiquibaseMongodbRecorder.java:47)
	at io.quarkus.deployment.steps.LiquibaseMongodbProcessor$startLiquibase1869009359.deploy_0(Unknown Source)
	at io.quarkus.deployment.steps.LiquibaseMongodbProcessor$startLiquibase1869009359.deploy(Unknown Source)
	at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
	at io.quarkus.runtime.Application.start(Application.java:101)
	at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:103)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:67)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:41)
	at io.quarkus.runtime.Quarkus.run(Quarkus.java:120)
	at io.quarkus.runner.GeneratedMain.main(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:103)
	at java.base/java.lang.Thread.run(Thread.java:829)
```

### How to Reproduce?

Use quarkus mongodb settings and setup `quarkus-liquibase-mongodb` extension
```yaml
quarkus:
  mongodb:
    tls: false
    connection-string: ${MONGODB_CON_STRING:mongodb://localhost:27017}
    database: customDB
    credentials:
      auth-source: ${MONGODB_AUTH_SOURCE}
      username: ${MONGODB_USERNAME}
      password: ${MONGODB_PASSWORD}
  liquibase-mongodb:
    migrate-at-start: true
    change-log: db/changelog.json
```

### Output of `uname -a` or `ver`

 Darwin Kernel Version 21.1.0

### Output of `java -version`

openjdk version "11.0.12" 2021-07-20 OpenJDK Runtime Environment Homebrew (build 11.0.12+0) OpenJDK 64-Bit Server VM Homebrew (build 11.0.12+0, mixed mode)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.9.2.Final

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

Gradle 7.4.2

### Additional information

_No response_

Changed files:
extensions/liquibase-mongodb/runtime/src/main/java/io/quarkus/liquibase/mongodb/LiquibaseMongodbFactory.java

diff --git a/extensions/liquibase-mongodb/runtime/src/main/java/io/quarkus/liquibase/mongodb/LiquibaseMongodbFactory.java b/extensions/liquibase-mongodb/runtime/src/main/java/io/quarkus/liquibase/mongodb/LiquibaseMongodbFactory.java
index 63a314da7f8..caa81f0ff47 100644
--- a/extensions/liquibase-mongodb/runtime/src/main/java/io/quarkus/liquibase/mongodb/LiquibaseMongodbFactory.java
+++ b/extensions/liquibase-mongodb/runtime/src/main/java/io/quarkus/liquibase/mongodb/LiquibaseMongodbFactory.java
@@ -39,12 +39,15 @@ public Liquibase createLiquibase() {
                                 "Config property 'quarkus.mongodb.database' must be defined when no database " +
                                         "exist in the connection string"));
             }
+            if (mongoClientConfig.credentials.authSource.isPresent()) {
+                connectionString += "?authSource=" + mongoClientConfig.credentials.authSource.get();
+            }
+
             Database database = DatabaseFactory.getInstance().openDatabase(connectionString,
                     this.mongoClientConfig.credentials.username.orElse(null),
                     this.mongoClientConfig.credentials.password.orElse(null),
                     null, resourceAccessor);
 
-            ;
             if (database != null) {
                 liquibaseMongodbConfig.liquibaseCatalogName.ifPresent(database::setLiquibaseCatalogName);
                 liquibaseMongodbConfig.liquibaseSchemaName.ifPresent(database::setLiquibaseSchemaName);