iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
自我挑戰組

API 全攻略系列 第 8

Day 8: API 認證方式介紹(API Key, Token)

  • 分享至 

  • xImage
  •  

前言

在前幾天,我們學了 API 的基本概念與測試方法。今天要進一步探討 API 認證 ——API 如何確認「誰」在存取,以及「能不能存取」。

為什麼需要 API 認證?

想像一個情境:
你開了一個咖啡店,任何人都能免費進來拿咖啡,結果店裡馬上被搶空。

API 也一樣,如果沒有認證:

  • 任何人都能存取你的資料
  • 惡意用戶可能濫發請求(DoS 攻擊)
  • 使用者資料可能外洩

認證(Authentication) 就是驗證「你是誰」
授權(Authorization) 則是判斷「你能做什麼」


常見的認證方式

1. API Key

最簡單的認證方式。

  • 系統會發給每個使用者一組 唯一的金鑰 (API Key)
  • 使用者必須在每次請求時帶上 API Key

優點

  • 簡單好用
  • 適合小型專案或開放 API

缺點

  • API Key 通常是 固定的字串 ,一旦外洩就很危險
  • 不能區分不同操作的權限(只有「能用」或「不能用」)

2. Token(存取權杖)

比 API Key 更安全,常用的是 Bearer Token

  • 使用者先登入,伺服器簽發一個 Token
  • 之後每次請求都帶上 Token
  • Token 通常有 時效性 ,過期後需要更新

優點

  • 更安全,因為 Token 會定期過期
  • 可結合 JWT 方式攜帶使用者資訊
  • 更容易做「授權」控管

缺點

  • 需要伺服器額外處理登入與簽發 Token
  • 實作比 API Key 複雜

API Key vs Token

比較項目 API Key Token
使用難度 簡單 稍微複雜
安全性 較低 較高
適用情境 測試用、小型專案 真實專案、需要登入的系統
時效性 固定不變 通常有時效,需要更新

小結

  • API 認證是為了保護資源,避免被濫用
  • API Key :簡單方便,但安全性較低
  • Token :安全性更高,適合真實應用場景
  • 下一步還有更進階的 OAuth 2.0JWT 等機制,我們會在接下來的日子介紹

上一篇
Day 7: 使用 Postman 測試 API 介紹
下一篇
Day 9: OAuth 2.0 簡介
系列文
API 全攻略10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言