1. 程式人生 > 實用技巧 >帳號登入、登出流程

帳號登入、登出流程

一、密碼登入

1.客戶端提交使用者名稱(以手機號為例)、md5編碼後的密碼,以及手機號、登入平臺,如下所示:

{
  "Phone": 12345678999,
  "Region": 86,
  "Password": xfdfewr45sdf
  "platform": app
}

2.服端處理流程虛擬碼為:

// 1. 通過手機號去使用者手機號繫結表查詢是否存在對應的使用者
phoneUser = phoneUserModel.Get(req.phone, req.region)
if phoneUser == nil {
  return "使用者不存在"
}

// 2.通過返回的userid再去使用者表查詢是否存在對應的記錄
userInfo = userModel.Get(user.userid)
if userInfo == nil {
  return "使用者不存在"
}

// 3.驗證使用者登入密碼,將提交的密碼引數和使用者資訊中的鹽值相連,再做一次md5,與使用者表記錄中的密碼比較
if userInfo.password != Crypotopassword(req.password, userinfo.salt) {
  return "密碼錯誤"
}

// 4.生成登入token,返回給客戶端
token := GenToken(userinfo.userid)
SaveToken(token, userinfo.userid, req.platform) // 服務端由userid和platform構造key儲存token

二、手機驗證碼登入