---
# System prepended metadata

title: "\U0001F3C5 Day 32"
tags: [Node.js 直播班 - 2022 春季班]

---

---
tags: Node.js 直播班 - 2022 春季班
---
# 🏅 Day 32

## 實作重設密碼



### 題目（將答案寫在 HackMD 並提交至回報區）
實作重設密碼 API POST `/users/updatePassword`
流程大致上為：
接收 request body 的資料 
→ 驗證：密碼與確認密碼欄位值需為一致，可自行加上必填欄位、密碼需至少 8 碼以上，並包含英文與數字 ... 等等
→ 使用 [bcryptjs](https://www.npmjs.com/package/bcryptjs) 將密碼進行 hash
→ 更新至資料庫
→ [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) 產生 JWT 並回傳 user 資料及 token

回報流程
---
請同學依照下圖教學觀看解答、回報答案:

![](https://i.imgur.com/QtL8zEW.png)

回報格式：請在「回報區」貼上 CodePen 或 HackMD 連結回報答案 (為了統計人數，請同學依序加上「報數」)


<!-- 解答
參考範例 https://github.com/gonsakon/express-week4-sample/blob/week6/routes/users.js#L61-L73

```javascript
router.post('/updatePassword',isAuth,handleErrorAsync(async(req,res,next)=>{
  
  const {password,confirmPassword } = req.body;
  if(password!== confirmPassword){
    return next(appError("400","密碼不一致！",next));
  }
  newPassword = await bcrypt.hash(password,12);
  
  const user = await User.findByIdAndUpdate(req.user.id,{
    password:newPassword
  });
  generateSendJWT(user,200,res)
}))
```

-->

回報區
---

| 報數 | 組別 / 名字       | codepen / hackMD / 其他回饋                                           |
| ---- | ----------------- | --------------------------------------------------------------------- |
| 1    | 第3組 / Hobby     | [HackMD](https://hackmd.io/@hobbyling/day32)                          |
| 2    | 第3組 /  hiYifang | [HackMD](https://hackmd.io/@gPeowpvtQX2Om6AmD-s3xw/BJlAbFdPc)         |
| 3    | 第 14 組｜East    | [HackMD](https://hackmd.io/27XG_tgWQMCvtvaJa7nP3Q)                    |
| 4    | 第 4 組｜苡安     | [HackMD](https://hackmd.io/CPW4DKRySt27tzugaFS9uQ)                    |
| 4    | 第 2 組｜joe      | [HackMD](https://hackmd.io/uaRTw9c0TgOrADyXMmGL0Q?view#523-reset_pwd) |
|5      |第 9 組 / konstante  |[HackMD](https://hackmd.io/6g7cgCZYSBSf9w7kboPTOw?edit)                                                                       |
| 6 | 第 9 組 / 黃士桓 | [HackMD](https://hackmd.io/7BnbQN2-S2uZk_SITklDPA) |
| 7 | 第 11 組 / Han Lai | [HackMD](https://hackmd.io/6bXnoAxcQ2Cl8Da_HsBTzA?view) |
| 8 | 第 5 組 @ Hazel | [HackMD@Hazel](https://hackmd.io/@hazelwu/day32) |
| 9 | 第 4 組 小宥| [HackMD](https://hackmd.io/@hazelwu/day32) |
| 10 | 第 12 組 Jimmy| [HackMD](https://hackmd.io/Vl_GNIpeR_2jfR82xRfdNw) |
| 11 | 第 2 組 wendy | [HackMD](https://hackmd.io/80FIwll1QUa4u0-WoBv-hQ#20220523)|
| 12 | 第 16 組 / 皓皓 | [HackMD](https://hackmd.io/@cutecat8110/HyKp09R59)|


