iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0

Simple Auth App:註冊、登入實作

今天先實作註冊登入登出功能的流程與架構

1. 用戶註冊、登錄

1.1 用戶註冊

router.post('/register', async (req, res) => {
    // 獲取用戶輸入
    const { email, password } = req.body;
    
    // TODO: 密碼加密

    // TODO: 儲存到數據庫

    // TODO: 發送驗證郵件

    res.status(201).json({ message: 'User registered. Please check your email for verification.' });
});

1.2 用戶登錄

router.post('/login', async (req, res) => {
    const { email, password } = req.body;
    
    // TODO: 驗證用戶名和密碼

    // TODO: 創建JWT token或session

    res.json({ message: 'Logged in successfully.' });
});

用戶資料、密碼重置、Cookies和登出功能

2.1 用戶資料

router.get('/profile', async (req, res) => {
    // TODO: 獲取用戶資料

    res.json({ message: 'User data', data: {} });
});

router.put('/profile', async (req, res) => {
    // TODO: 更新用戶資料

    res.json({ message: 'User data updated.' });
});

2.2 密碼重置

router.post('/reset-password', async (req, res) => {
    const { oldPassword, newPassword } = req.body;
    
    // TODO: 驗證舊密碼並更新新密碼

    res.json({ message: 'Password reset successfully.' });
});

Cookies和登出功能

router.post('/logout', async (req, res) => {
    // TODO: 清除session或token

    res.json({ message: 'Logged out successfully.' });
});

上一篇
[Day 27] Simple Auth App:ORM & DB setting
下一篇
[Day 29] Simple Auth App : 修復TypeORM 問題與DataSource
系列文
從實戰中學習:Take Home Assignment review & refactor30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言