會員系統建構概念

會員系統基本功能

  • 註冊
  • 登入
  • 驗證機制
  • 第三方登入(SSO) (OAuth)
  • 忘記密碼

會員註冊重點

  • 先設計商業流程流程及邏輯
  • 填寫資料越少越好減少進入門檻
  • 只要重要的資料即可
  • 註冊完後可在補資料
  • 密碼存入資料庫要加密
  • 防機器人註冊洗帳號
    https://www.google.com/recaptcha/intro/comingsoon/invisiblebeta.html
  • 註冊驗證(E-Mail 簡訊)

一般註冊流程

填寫資料

寄註冊信

使用者收信啟用

連結到網站登入

登入機制要點

  • 登入驗證一定要在後端程式如(PHP,Python)
  • 前端不可顯示密碼或帳號
  • 驗證方式為將使用者的輸入的密碼用相同加密方式後到資料庫進行比對驗證
  • 帳號密碼不要存在Cookie
  • 防機器人設計

登入流程

輸入帳號密碼

程式收到後先將密碼加密,比對資料庫資料

驗證

失敗

成功

在Session記錄使用者資料或
回傳Token給前端

淺談驗證機制

  • E-Mail驗證 (最通用門檻最低)
  • 簡訊驗證 (高成本但很有效)
  • Google Two Factor (新方法低成本但使用者不一定會)
    https://www.google.com/landing/2step/
  • OAuth第三方驗證(主流簡單方便)

第三方驗證機制Oauth說明

主流提供第三方驗證平台

  • Facebook
  • Google
  • 繁多不及備載

優點

  • 使用者體驗好
  • 可從第三方取得的資料有限
  • 門檻低
  • 其他社群運用
  • 風險轉移
  • 不用重新造輪子

缺點

  • 需配合第三方設計登入流程
  • 無法涵蓋所有使用者
  • 需了解第三方SDK,如果有複數個第三方就加重了維護成本及更新
  • 無法控制第三方是否正常

忘記密碼設計要點

  • 一定要透過其他管道驗證使用者(email, 簡訊...)
  • 必需回到網站重新設定密碼
  • 如果全部都忘記怎麼辦?
  • 設定完密碼必需重新登入

會員系統建構概念

By Seta Chuang

會員系統建構概念

  • 749