FebMosm
FebMosm

Reputation: 11

Auth0 Custom database mongodb

I'm trying to store users on my own mongo database not the default (auth0 server).

Below is the script:

function create (user, callback) {
    mongo('mongodb://admin:pass@localhost:27017/mydb', function (db) {
    var users = db.collection('subscribers');

    users.findOne({ email: user.email },
        function (err, withSameMail) {

            if (err) return callback(err);
            if (withSameMail) return callback(new Error('the user already exists'));

            user.password = bcrypt.hashSync(user.password, 10);

            users.insert(user, function (err, inserted) {  
                if (err) return callback(err);
                callback(null);
            });
        });
    });
}

This is the error I'm getting when I try to create a user:

[Error] Error: socket hang up
at createHangUpError (_http_client.js:200:15)
at Socket.socketOnEnd (_http_client.js:285:23)
at emitNone (events.js:72:20)
at Socket.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:905:12)
at nextTickCallbackWith2Args (node.js:437:9)
at process._tickDomainCallback (node.js:392:17)

Upvotes: 0

Views: 1291

Answers (1)

Eugenio Pace
Eugenio Pace

Reputation: 14212

Your mongodb is in localhost (see your connection string). The create script runs in Auth0 servers, so localhost (your machine) is not reachable.

Normally your instance would run on a server that is reachable from Auth0 (e.g. mongolabs, a server in AWS, etc). If you are testing, then you might want to check out ngrok

Blakes suggestion of caching the connection is a good one, but it is an optimization, not the reason it is not working.

Upvotes: 3

Related Questions