2021/07/07 수요일
TIL
오늘 한 일
- 휴식
- 로그인 회원가입 구조및 기능 가완
- leetcord
- Divide Two Integers. (medium)
오늘은...
- 휴식
- 로그인 회원가입 구조및 기능 가완
- leetcord
- Divide Two Integers. (medium)
오늘은...
작성하던 로그인 회원가입 구조 및 기능을 만들었다.
와 같이 개별 기능들을 구분하여 별도로 작성하였고,
import phash from "./components/passwordHash";
import rsalt from "./components/randomSalt";
import mkToken from "./components/makeToken";
import dbuser from "./dbcontroller/user/index";
//중간 생략 //
router.post("/signin", dbuser.get(), phash, mkToken, (req, res) => {
if (res.locals.password === res.locals.password) {
res.cookie(`refreshToken`, res.locals.refreshToken, {
maxAge: 24 * 6 * 60 * 10000,
sameSite: "none",
httpOnly: true,
secure: true,
});
res.cookie(`iskakao`, false, {
maxAge: 24 * 6 * 60 * 10000,
sameSite: "none",
httpOnly: true,
secure: true,
});
res.status(200).json({
message: "로그인 되었습니다.",
accessToken: res.locals.accessToken,
});
} else {
res.status(403).json({ message: "잘못된 비밀번호" });
}
});
router.post(
"/signup",
upload.single("userImage"),
rsalt,
phash,
dbuser.exist(false),
dbuser.insert,
(req, res) => {
res.status(200).send("signup");
}
);
와 같이 개별 기능들을 미들웨어로 사용하여 순차적으로 진행되게 하였으며 개별 진행에 따라 그에 맞는 기능만 진행하도록 구성하였다. 전체적으로 구조가 복잡해지고 번잡 한것 같긴하다. 물론 짧은 구조에 굳이 이런식으로 만들 필요는 없을 것이나, 그동안 구조자체가 실행부분에 몽땅 때려 밖은 구조다 보니 여러 단계를 거쳐야 하는경우에는 콜백처럼 안속에 결과에 안속의 결과를 얻어야하는 구조 였기에 그를 보완하고자 이렇게 잘라서 진행해보았다.
물론 그때에도 프러미스의 then과 catch 를 사용하여 순차적으로 진행되게 하기도 하였으나 그 경우 에러 생성이 catch 하나에 몰리는 결과를 가지기에 문제 발생시 어느부분 문제인지도 확인하기 힘들고 별도의 에러 처리 방식을 구형하기 힘들었으므로 미들웨어 방식으로 진행하였다.
Author And Source
이 문제에 관하여(2021/07/07 수요일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@karuiner/20210707-수요일저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)