Email 驗證、會員系統與那些「看似簡單」的更新紀錄
今天幾乎都在跟會員系統纏鬥。Ingrelens 一開始只是做「註冊、登入」這種基本功能,結果一路長出資料更新、密碼修改、guest 升級成正式會員……每加一個需求,整體邏輯就再複雜一點。
先處理 email 驗證。以前的流程只是寄信、點連結,直到要支援 guest 升級與 email 更改,原本設計就撐不住,尤其 verification metadata 完全不夠用。我改成以一個簡單的 JSON 欄位記錄驗證類型與必要資訊,流程比較有彈性。
接著踩到 profile_data 的坑:它不是每次都能穩定解析成字典,偶爾還會冒出 500。原因是某些地方沒做好 JSON parse 的錯誤處理。最後我強制所有 profile_data 至少回到 dict 型態;parse 失敗就回空字典,