2
私のサーバーのログイン要求を作成しようとしています。私が勉強しようとしているのは ユーザーがログインしたときにトークンを作成する方法です。トークンを作成した後、そのトークンでユーザーの要求を制御したいと考えています。ここに私のコードの例があります。どこが間違っているのか教えてください。すべての道が真実なら、それをどのように作成するか私に説明することができますか?あなたは何ができるかNode.js Token ExpressJsで認証します
var port = 8080;
var express = require("express");
var bodyParser = require('body-parser');
var mysql = require('mysql');
var bcrypt = require('bcrypt');
var session = require('express-session');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "123456",
database: "circles",
debug: false
});
process.on('uncaughtException', function (err) {
console.log('UNCAUGHT', err.stack);
});
var app = express();
app.use(express.static("localhost" + "/public")); //use static files in ROOT/public folder
app.use(bodyParser.json()); // support json encoded bodies
app.use(bodyParser.urlencoded({ extended: true }));
app.use(session({secret: 'letsputasmile',
proxy: true,
resave: true,
cookie: { maxAge : 2628000000 },
saveUninitialized: true
}));
app.get("/", function(request, response){ //root dir
response.send("Hello!!");
console.log(response);
});
app.post("/register", function (request, response) {
var name = request.body.name;
var username = request.body.username;
var pass = request.body.pass;
var salt = bcrypt.genSaltSync(10);
var hash = bcrypt.hashSync(pass,salt);
console.log(name);
console.log(username);
console.log(pass);
con.query("Insert Into user(name,username,password) Values(\"" + name + "\"," + "\"" + username + "\"," + "\"" + hash + "\")",
function (err,result) {
if(err) response.send("nop");
else response.send("success");
});
});
app.post("/login", function(request, response) {
var username = request.body.username;
var pass = request.body.pass;
var passer;
con.query("select password from user where username = " + "\"" + username + "\"",function (err, result) {
if(err) throw err;
if(result.length === 1) {
passer = result[0].password;
}
bcrypt.compare(pass, passer, function (err, res) {
if(res) response.send("success");
else response.send("nop");
});
});
});
app.listen(port);
この場合、「セッション」とは何ですか?コードを更新してください。 – ralphtheninja
@ralphtheninja私はすべてをアップロードしました。私はセッション部 –
を理解できないと思うが、何を達成しようとしているのだろうか?別のアプリでトークンを使用する必要がありますか?トークンを使用して同じWebアプリケーション内で使用しますか? –