javascript - 我們如何在現有應用程式中實現邀請制註冊?
我的應用程式支援管理員角色的正常註冊以及團隊成員的邀請註冊。管理員可以成功註冊自己。登入功能也運作正常。我使用 jwt 生成令牌,並使用 AuthGuards 來保護私人路由。
需要一些關於我如何向用戶發送邀請網址的幫助嗎?(nodemailer 已經配置並正常運行)。我更關心的是網址的生成。
有人可以幫我嗎?應用程式的後端是使用 nestjs,前端是使用 angular 8。目前我正在通過 postman 測試 API。
先行感謝,阿金卡
答案#1
1) 創建一個資料庫實體 invitation-token,包含一個欄位 token(隨機生成的 UUID,例如使用這個 uuid 函式庫)。設定其在 24 小時後自動刪除條目。(例如 mongodb 中的 TTL)
2) 創建一個端點,允許使用查詢參數 invitation-token 進行註冊,
例如 /registration?invitation-token=Usa67Nsus78。只有當給定的令牌存在於第 1 步中創建的表中時,才允許註冊。
3) 創建一個 invite 端點,它接受一個郵件地址作為輸入。它會在 invitation-token 表中創建一個新的令牌,並向給定地址發送郵件,郵件中包含指向第 2) 中端點的連結