๐ Project - Dev Log
[โ๏ธ Project Dev Log] 2022-01-04
Seungjae Lee
2022. 1. 4. 21:45
์ค๋์ ์ด๋ป๊ฒ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋์?
- token ์ธ์ฆ ๊ธฐ๋ฐ ๋ก๊ทธ์ธ ๊ตฌํ
- get/info, patch/info Api ๊ตฌํ
- ๋ก๊ทธ์์ ๊ธฐ๋ฅ, ํ์ํํด ๊ธฐ๋ฅ ๊ตฌํ
์ค๋์ ํ๋ก์ ํธ์์ ํ๋ ์ ์ ๋ฌด์์ธ๊ฐ์?
- patch/info api๋ถ๋ถ์ patch์์ฒญ์ ํตํด ํ์์ ๋ณด๋ฅผ ์์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ถ๋ถ์ธ๋ฐ ์์ ์ ์์ฒญํ๋ ์๊ฐ ํ์์ธ์ง
๊ฒ์ฆํ๋ ๋ถ๋ถ์ด ํ์ํ๋ค ์ด ๋ถ๋ถ์์ ์๊ธด ๊ณ ๋ฏผ์ด
"token๊ณผ ํ์์ ๋ณด ํ์ธ์ ์ํด ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์์จ ํ์ฌ ๋น๋ฐ๋ฒํธ ๋ ์ค ๋ฌด์์ ์ฌ์ฉํด์ ํ์์์ ๊ฒ์ฆํด์ผ ํ ๊น?"
์ด ๋ถ๋ถ ์ด์๋๋ฐ ๋ ๋ค ์ฌ์ฉํด์ ๊ฒ์ฆํ์๋ ๊ฒฐ๋ก ์ด ๋์ ์๋์ ์ฝ๋๋ฅผ ํตํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ดค๋ค
์ ์ฒด ์ฝ๋์ค ์ผ๋ถ
//Todo: ํ์์ ๋ณด ์์
patch: (req, res) => {
// tokenVerify๋ ํ ํฐ ํด๋
ํจ์
const tokenData = tokenVerify(req)
// ํ ํฐ ๊ฐ์ด ์์ ๋
if (!tokenData) {
console.log('โ ๏ธerror: No token in req.headers.authorization')
return res.status(401).send({
message: 'not authorized',
})
}
const { username, curPassword, newPassword } = req.body
const { email } = tokenData
user
.findOne({ where: { email: email, password: curPassword } }) //
.then((data) => {
if (!data) {
return res.status(401).send({
message: 'invalid password',
})
}
console.log(data.dataValues)
user
.update({ username, password: newPassword }, { where: { email } })
.then((result) => {
console.log(result)
return res.status(200).send({ message: 'patch ok' })
})
})
},
์์ ์ฝ๋์ค ์ผ๋ถ
const { username, curPassword, newPassword } = req.body;
const { email } = tokenData;
// ๋ฐ๋์์ ๊ฐ์ ธ์จ ํ์ฌ ๋น๋ฐ๋ฒํธ์ ํ ํฐ ๋ฐ์ดํฐ๋ฅผ ํด๋
ํด์ ๋์จ ์ด๋ฉ์ผ ์ ๋ณด ๋๊ฐ ๋ชจ๋๋ฅผ ์ด์ฉํด์ ์ฟผ๋ฆฌ
user.findOne({ where: { email: email, password: curPassword } });
- ๋ด๊ฐ ์์ฑํ user api ๋๋ถ๋ถ์ ์ฝ๋์ token์ ํด๋
ํ์ฌ db์ ๋์กฐ๋ฅผ ํตํด ํ์์ด ๋ง๋์ง ๊ฒ์ฆํ๋ ๊ณผ์ ์ ๊ฑฐ์ณค๋๋ฐ,
๋ฌธ๋ ๋๋ ์๊ฐ์ด token ์ฌ์ฉ์ ์ฅ์ ์ค์ ํ๋๊ฐ ํ ํฐ์ ๋ฐ๊ธํ ํ ํ ํฐ์ด ํด๋ ๋๋์ง๋ง ํ๋จํด์ ๋งค๋ฒ db์ ํ์ ๊ฒ์ฆ์ ์ํ ์กฐํ๋ฅผ ํ์ง ์์ ์๋ฒ์ ๋ถํ๋ฅผ ๋ฎ์ถ ์ ์๋ค๋ ์ ์ธ๋ฐ,
๋ด๊ฐ ์ง ์ฝ๋๋ฅผ ๋ณด๋ฉด token ์ฌ์ฉ์ ์ฅ์ ์ด ๋ถ๊ฐ๋์ง ์๊ฒ ์์ฑ๋ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
=> ๋ถํ์ํ๊ฒ ๊ฒ์ฆํ๋ ๋ถ๋ถ๋ค์ ์ ๊ฑฐํ์ฌ token ์ธ์ฆ๋ฐฉ์์ ์ฅ์ ์ ๋ถ๊ฐ์์ผ ๋ด์ผ๊ฒ ๋ค.
๋ด์ผ์ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ธฐ ์ํด ๋ฌด์์ ํด์ผ ํ๋์?
- oauth๊ธฐ๋ฐ naver ์์ ๋ก๊ทธ์ธ ๊ตฌํ
- ๋ค์ด๋ฒ ๋ก๊ทธ์ธ api ๋ฌธ์ ๊ผผ๊ผผํ ์ฝ๊ธฐ
- ์๋ ผํ ๋ถ๋ถ๋ค ๊ผผ๊ผผํ ๋ฉ๋ชจํ๊ธฐ