유니티3D 프로그래밍

Express Server 회원 관리 (21.06.10) 본문

Server/수업내용

Express Server 회원 관리 (21.06.10)

tjdgus9955 2021. 6. 10. 12:27

routes/user.js

const express = require("express");
const router = express.Router();
const { v4: uuidv4 } = require("uuid");
const crypto = require("crypto-js");
const AES = require("crypto-js/aes");
const SHA256 = require("crypto-js/sha256");
let users = [];

router.get("/all", (req, res, next) => {
    res.end("모든 회원 검색");
});

router.get("/:id", (req, res, next) => {
    const id = req.params.id;
    let user = users.find(x => x.id === id);
    let result = {
        status: 200,
        user,
    };
    if (user === undefined) {
        result.status = 500;
    }
    res.send(result);
});


router.post("/", (req, res, next) => {
    let user = req.body;
    const uuid = uuidv4();
    user.id = uuid;
    let ciphertext = crypto.AES.encrypt(user.paswword, 'tjdgus').toString();
    user.password = ciphertext;
    users.push(user);

    let byte = crypto.AES.decrypt(ciphertext, 'tjdgus');
    let originalText = byte.toString(crypto.enc.Utf8);
    console.log(user.id);
    console.log(ciphertext);
    console.log(originalText);
    // user.password = originalText;
    let result = {
        status: 200,
    };

    res.send(result);
});

router.post("/auth/:id", (req, res, next) => {
    const id = req.params.id;
    let user = users.find(x => x.id === id);
    let result = {
        status: 200,
    };
    if (user === undefined) {
        result.status = 500;
    }
    res.send(result);
});

router.delete("/", (req, res, next) => {
    delete users[0];
    let result = {
        status: 500,
    };

    if (users[0] === undefined) {
        result.status = 200;
    }
    else
    {
        result.status = 500;
    }
    res.send(result);
});

router.patch("/:id", (req, res, next) => {
    const id = req.params.id;
    let user = users.find(x => x.id === id);
    let beforeChange = user.nickname;
    user.nickname = "임꺽정";
    let result;
    if(user !== undefined)
    {
        result = {
            beforeChange,
            user,
            status: 200
        };
    }
    if (user === undefined) {
        result.status = 500;
    }
    
    res.send(result);
});

module.exports = router;

app.js

const express = require("express");
const userRouter = require("./routes/users");
const app = express();
const port = 3000;

app.use(express.json());
app.use("/users", userRouter);

app.listen(port, () => {
  //서버가 시작될때 실행되는 콜백
  console.log(`${port}번 포트에서 서버 시작`);
});

 

암호화 성공 시

호출 실패 시

유저 생성 시 

 

유저 정보 삭제 시

유저 정보 변경 시

'Server > 수업내용' 카테고리의 다른 글

Express Server Test (21.06.09)  (0) 2021.06.09