#MongoDB authentication failed

29 messages · Page 1 of 1 (latest)

glad shoal
#

I am trying to connect to my MongoDB hosted on Railway. I just created the MongoDB, so it only contains a 'test' db with no collection.

When I do not append the URL with db name, I can use mongosh to connect and set to 'test' DB.

But when I do append the db name, , 'MONGO_URL/test', I get:
[DEBUG-ConnectionPool:12243] 1683846894064 connection attempt failed with error [{"ok":0,"code":18,"codeName":"AuthenticationFailed"}] {
type: 'debug',
message: 'connection attempt failed with error [{"ok":0,"code":18,"codeName":"AuthenticationFailed"}]',
className: 'ConnectionPool',
pid: 12243,
date: 1683846894064
}

I am new to this, any help is greatly appreciated!

vagrant berryBOT
#

Project ID: a686cf21-bbfd-4ddb-9e0c-5c11cd434e88

glad shoal
#

a686cf21-bbfd-4ddb-9e0c-5c11cd434e88

void crescent
#

can I see a screenshot of your service variables

glad shoal
#

${{MongoDB.MONGO_URL}}

void crescent
#

can you connect to it with an external tool like mongodb compass

glad shoal
void crescent
#

would the same thing happen with a brand new database?

glad shoal
#

yes, I tried launching a new MongoDB, same result

void crescent
#

okay i will look into it

#

i can connect just fine, simply dont add the db name to the url

glad shoal
#

I can also connect without adding the db name to the url......
Guess I need to proceed this way for now

void crescent
#

if it works it works, no need to complicate things, perhaps the version of mongodb they run does not support defining the database in the url

#

the MONGO_URL does not have a database defined in it, and now we know why

glad shoal
#

I see. Another question if I may

void crescent
#

ofc

glad shoal
#

when I am testing locally, the React app and server run on HTTP, but the MongoDB URL is on HTTPS, causing CORS issue... How can I get around this

void crescent
#

isnt cors a browser thing?

#

youre accessing the mongo database directly from the frontend?

glad shoal
#

Oh you are right. It is not the database call. It is some other POST that caused CORS

void crescent
#

okay where are these POST requests going to

glad shoal
#

I have a register post

#

The frontend code is like this

const SERVER_URL = process.env.REACT_APP_SERVER_URL;

function Register() {
const [id, setId] = useState('');
const [passcode, setPasscode] = useState('');

const handleSubmit = async (e) => {
e.preventDefault();

try {
  await axios.post(`${SERVER_URL}/register`, { id, passcode });
  alert('Registered successfully');
} catch (error) {
  alert('Registration failed');
}

};

#

I am using Flask on the server side and I have

app = Flask(name)
CORS(app)

void crescent
#

that says failed with error 500, so even though you get a cors error the bigger issue is the error 500.
but with that said, that isnt a railway problem, so you will have to do some debugging yourself

glad shoal
#

Got it. Thanks for pointing me in the right direction

#

Really appreciate!

void crescent
#

no problem!