sql >> Database >  >> RDS >> Mysql

Hoe verificatie uitvoeren in node.js die ik vanaf mijn website kan gebruiken?

U hoeft alleen .authenticate aan te passen methode. Aangezien verbinding maken met de database een asynchrone bewerking is (of zou moeten zijn), moet u promise toevoegen object (zie everyauth-documentatie ).

Ervan uitgaande dat je een ORM hebt met gebruikersgegevens die overeenkomen met user object met username en password attributen (in mijn voorbeeld gebruik ik de mangoest-engine), zo kan het eruit zien:

.authenticate( function (login, password) {
    var promise = this.Promise(); /* setup promise object */

    /* asynchrnously connect to DB and retrieve the data for authentication */
    db.find({ username:login }, function(err, user) {
        if (err)
            return promise.fulfill([err]);
        if ((!user) || (user.password != password))
            return promise.fulfill(['Incorrect username or password!']);
        promise.fulfill(user);
    });

    return promise; /* return promise object */
})

Ik heb het niet getest, maar volgens de documentatie zou het moeten werken. Onthoud dat fouten in de array moeten worden bewaard.

Trouwens:als je alleen de wachtwoordmethode gebruikt, dan is het niet nodig om, weet je, een kanon tegen een vlieg te gebruiken. :) Het schrijven van je eigen (niet noodzakelijk perfecte, maar werkende) authenticatiemechanisme is heel eenvoudig en als je niet weet hoe je dit moet doen, moet je het leren. Het zal in de toekomst profiteren, omdat authenticatie en beveiliging in het algemeen erg belangrijk zijn in elke web-app.




  1. Wanneer of waarom een ​​SET DEFINE OFF gebruiken in Oracle Database?

  2. Kolom INT (3) knipt de waarde niet op de juiste lengte en staat toe dat de volledige waarde wordt ingevoegd - MySQL

  3. 'Kan geen verbinding maken met MySQL-server op \'db\' Django-Restframework met Mysql in docker

  4. MySql, PHP-weergave Afbeelding op HTML