跳至主要内容

前言 Preface

在公司業務擴張的過程中,並沒有一個完整的授權機制。遊戲上架到多個不同的平台,我們的授權與認證機制是一種很「碎片化」的狀態。 這體現在許多部份:

  • 遊戲如何幫特定用戶進行遊戲設定
  • 當新的客戶到來,內部如何管理這個客戶的資料
  • CMS 的授權機制怎麼進行整合
  • 多個服務之間如何讓彼此信任

這種不一致性增加了維護成本:

  • 權限邊界模糊:特定遊戲伺服器在不同客戶環境下的操作權限
  • 整合效率低:新專案對接交易系統時,需重新討論授權方式
  • 安全性弱點:缺乏統一的憑證輪替與撤銷機制
  • 專案管理混亂:每個客戶的 CMS 都是獨立的專案

我想要導入以「授權」為核心的基礎設施規格。不僅僅是單一服務的設計說明,而是用來約束與協調多個服務之間如何進行身份驗證、授權判斷、權限傳遞與審計。這份規格的讀者預設為工程師與系統設計者,而非產品使用者。文件中的名詞、流程與假設,會直接影響後續服務的實作方式與整體系統的安全模型。

本文件的目的是定義一套統一的身分識別與授權標準。透過引入許多工程上的實際標準,實現漸進式的架構轉型。這套系統將確保不論是遊戲主控台的設定、還是核心交易系統的扣款,都能在可控且好維護的前提下運行。

備註

本文章撰寫時,基於以下假設:

  1. 公司內部有自己的 H5遊戲,會跟許多平台簽約,在他們的首頁投放我們的遊戲。
    • 簽約的平台會把我們的遊戲拿去再給子平台上架,子平台也會做一樣的事情,依此類推。
  2. 公司也有平台,可能會上架別人的遊戲
  3. 第三方平台會想要調整我們的遊戲設定(若有開放),且設定是根據遊戲、幣別都不同的。
    • 這些設定有些要求更旗下的代理商硬性遵守,有些允許調整
  4. 入口網站的可見度要區分,同樣切分平台與幣別。

要處理的問題如下:

  1. 權限怎麼管理,系統設計原則是否涵蓋這些需求?
  2. 其他平台的用戶可以玩我們的遊戲,那這個用戶隸屬於誰?
  3. 遊戲的設定應該存在中央的組態,還是每個遊戲自行維護?
  4. 如果有一項服務跨越遊戲,例如隨機抽一位在線上的玩家派獎(Jackpot),那這個服務的授權怎麼設計?
  5. 不同平台在同一個幣別下,看到的首頁遊戲清單是否不同?