在現代應用程式中,API不只是資料交換的工具,也必須負責守護系統與使用者的安全,為了避免未經允許的存取,API設計時會特別重視兩個核心概念:身份驗證(Authentication)和授權(Authorization)。
身份驗證,就是「確認你是誰」。
例如,登入網站或APP時,系統會要求輸入帳號和密碼,來驗證使用者的身份。除了帳號密碼,還可能透過OAuth(像是用 Google、Facebook 帳號登入)或Token(由系統產生的憑證)來驗證。Token在現代API裡用得非常普遍,因為能在使用者登入一次後,就替代帳號密碼,後續每次請求只要帶上Token,伺服器就能快速知道這是合法使用者。
授權,則是「確認你能做什麼」。
就算身份驗證通過了,系統還會判斷這個使用者能否存取某些資源或操作。例如,在訂單系統裡,一般使用者只能看到自己的訂單,而管理員則能查看所有人的訂單,甚至刪除或修改資料,就是授權在發揮作用,確保每個角色只能在允許的範圍內操作。
透過身份驗證與授權的搭配,API才能做到「先確認來的是合法使用者,再決定能不能執行動作」,不但能防止資料被濫用,也能保護使用者隱私,讓整個系統運作更穩定。