考慮到項目中服務器同學多數來自於端遊,手遊行業。
於是在這裏簡單描述一下平臺登陸對接流程。
基本流程爲 登陸平臺 --> 平臺跳轉到遊戲頁面 -->玩家通過平臺給的信息向服務器請求登陸 -->服務器驗證
關鍵點就是平臺如何與我們遊戲服務器通信的問題。
一般的平臺設計是不通信 ,如360,騰訊,37玩,49遊等, 其它平臺我沒有接觸過,理論上應該也是如此。
驗證機制
驗證機制是利用字符串MD5碼的唯一性。
遊戲和運營平臺會協商一個密鑰,比如爲 abcd123456平臺和服務器通信的東西,就可以通過遊戲前端來中轉。 將所有的信息生成一個MD5即可
比如: MD5 = 用戶ID + 用戶性別 + 用戶年齡 + 時間戳 + 密鑰
現在對各步驟做詳細描述
一、登陸平臺
玩家輸入賬號,密碼,登陸成功。然後玩家點擊開始遊戲。
此時,平臺一般會給以下信息 我們叫TOKEN
TOKEN = 玩家平臺ID、玩家所選服務器、玩家年齡,時間戳,[其它信息],MD5效驗碼
二、跳轉頁面
頁面跳轉時,平臺所給的信息會附加到URL裏面,作爲參數傳遞。 這就是爲什麼很多頁遊,你可以保存URL,再貼一次就能夠進遊戲。而不用再走平臺。 時間戳的主要目的就是爲了限制每一次登陸的時效性。
三、服務務器驗證
服務器拿到TOKEN以後,會得到上面的數據
玩家平臺ID、玩家所選服務器、玩家年齡,時間戳,[其它信息],MD5效驗碼
然後,服務器會用密鑰自己做一次 MD5 生成。 然後與客戶端發過來的MD5碼作比對。 如果二者一致。 就認爲信息有效。
由此可之, 密鑰如果泄漏,則你可以登陸任何一個已知ID的玩家賬號。