fix(mongodb): support restricted database users
This commit is contained in:
1 parent
b5f868959b
commit
81e1693c18
6 files changed
+101
-17
No files matched your search
@@ -15,6 +15,14 @@ export function setMongoUrlParam(urlParams: string | undefined, key: string, val
|
||||
}
|
||||
|
||||
export function mongodbAuthFailureHint(message: string): string {
|
||||
if (message.includes("must be URL encoded") || message.includes("cannot contain unescaped %")) {
|
||||
return `${message}\n\nMongoDB URL mode requires reserved characters in usernames and passwords to be percent-encoded. For example, @ becomes %40, # becomes %23, / becomes %2F, : becomes %3A, and % becomes %25.`;
|
||||
}
|
||||
|
||||
if (message.includes("not authorized") && message.includes("listDatabases")) {
|
||||
return `${message}\n\nThis MongoDB user can authenticate but does not have permission to run listDatabases on admin. Grant listDatabases/cluster monitor privileges, or set a specific default database that the user can access.`;
|
||||
}
|
||||
|
||||
if (message.includes("Current authentication database:")) return message;
|
||||
|
||||
const source = message.match(/source='([^']+)'/)?.[1];
|
||||
|
||||
Reference in new issue
Block a user