sql >> Database teknologi >  >> RDS >> Mysql

Hvordan laver man godkendelse i node.js, som jeg kan bruge fra min hjemmeside?

Du behøver kun at ændre .authenticate metode. Da forbindelse til databasen er (eller burde være) en asynkron operation, så skal du tilføje promise objekt (se everyauth-dokumentation ).

Forudsat at du har noget ORM med brugerdata svarende til user objekt med username og password attributter (i mit eksempel vil jeg bruge mongoose engine), sådan kan det se ud:

.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 */
})

Jeg testede det ikke, men ifølge dokumentationen skulle det virke. Husk, at fejl formodes at blive holdt i array.

Forresten:hvis du kun bruger adgangskodemetoden, er der ingen grund til, du ved, at bruge en kanon mod en flue. :) At skrive din egen (ikke nødvendigvis perfekt, men fungerende) godkendelsesmekanisme er virkelig enkel, og hvis du ikke ved, hvordan du gør dette, bør du lære det. Det vil gavne i fremtiden, fordi autentificering og sikkerhed generelt er meget vigtigt i enhver webapp.




  1. Brug af automatisering til at fremskynde frigivelsestests på Galera Cluster med ClusterControl

  2. Forskellen mellem VARCHAR2(10 CHAR) og NVARCHAR2(10)

  3. MySQL Performance Benchmarking:MySQL 5.7 vs MySQL 8.0

  4. Sådan opretter du et rigtigt en-til-en-forhold i SQL Server