一、登錄註冊中,業務流程圖主要的問題
1.1 誰(who),在什麼時候(when),在什麼條件下(condition),輸入什麼(input),輸出什麼(output),輸出流向(flow)...
1.2 流程圖
流程圖
二、三個維度
用戶操作,前端頁面,後端系統
三、註冊的邏輯
1.1注意事項
1)非重要網站,填寫用戶信息儘量少,減少用戶對填寫大量數據牴觸
2)註冊賬號一般分爲幾種:手機號(安全,唯一,間接實名制),郵箱(pc端常用),第三方登錄(便捷,免去填寫信息流程,推廣速度快)
3)手機號驗證註冊
手機號
a.手機號是否註冊過
b.是否是手機號格式
c..不要返回未註冊提示信息,泄露他人祕密
->圖像驗證(防止重複刷短信驗證碼)
a.圖像驗證碼判斷是否輸入,對短信驗證碼進行限制
b.判斷是否輸入正確,對短信驗證碼進行限制
->短信驗證碼
a.引用其他平臺接口,
b.自動驗證,還是點擊button提交的時候驗證
c.點擊發送後,秒數限制惡意點擊
d.控制驗證碼有效時間
4)郵箱驗證註冊
郵箱格式驗證
a.正則驗證格式
->郵箱激活方式
a.激活方式都是生成唯一祕鑰,
&數據庫存放(祕鑰,祕鑰狀態,用戶郵箱)向用戶郵箱發送激活地址
&發送驗證碼,在註冊頁面中前端增加郵箱驗證碼輸入
b.祕鑰失效時間
c.一般推薦第一種激活地址
&如果不存在,則驗證失敗,如果存在,修改驗證狀態,並重置了驗證碼,跳轉登錄頁
&用戶再點進來的提供頁面,提示已經驗證通過,幾秒後跳轉登錄頁面,或立即跳轉
5)第三方註冊
OAuth的思路:
客戶端-服務提供商之間設置授權層(authorization layer)
客戶端不能直接登錄服務提供商,只能登錄抽全程
用戶登錄的時候,指定授權層令牌和權限範圍,有效期
(A)用戶打開客戶端以後,客戶端要求用戶給予授權。
(B)用戶同意給予客戶端授權。
(C)客戶端使用上一步獲得的授權,向認證服務器申請令牌。
(D)認證服務器對客戶端進行認證以後,確認無誤,同意發放令牌。
(E)客戶端使用令牌,向資源服務器申請獲取資源。
(F)資源服務器確認令牌無誤,同意向客戶端開放資源。
Auth2.0參考阮一峯博客
四、登錄的邏輯
4.1注意事項
1.默認登錄方式是手機號驗證碼登錄還是賬號密碼登錄?(看產品和場景:比如初次下載時,可以用驗證碼登錄,用戶主動登出後,下次登錄可用賬號密碼登錄);
2.產品多長時間不使用,需要重新登錄呢?(重新登錄時,是否可以自動記住手機號),還是每次進入的時候都需要重新登錄?(比如我用的農行和中行移動app,在每次進入的時候都需要重新登錄,應該是爲了安全性考慮);
3/手機號,密碼的驗證先後順序(手機號格式是否正確、手機號是否註冊過、手機號和密碼是否匹配等);
4/關於輸入密碼的二次確認,在我實習的時候,我導師給我講過什麼時候用「再次輸入密碼」,什麼時候用「密碼可見開關」,以及密碼可見開關在什麼場景下默認可見,什麼場景下默認不可見。(因爲不想把這些限定成一個規則,大家可自行根據自己產品思考);
5/若系統判斷手機號未註冊,是直接反饋用戶手機號未註冊?還是反饋手機號or密碼錯誤?還是引導用戶進入註冊流程或者驗證碼登錄流程?(當然還是依場景而異:部分產品如果直接反饋手機號未註冊,其實很容易泄露隱私,哪些手機號註冊過該產品就容易被他人知道)
4.2基本和註冊邏輯差不多,後期補充