iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
自我挑戰組

API 全攻略系列 第 9

Day 9: OAuth 2.0 簡介

  • 分享至 

  • xImage
  •  

前言

昨天我們學到 API Key 和 Token,但在實際應用中,常常需要更複雜的場景:

  • 比如你要用 Google 帳號登入一個新網站(例如 Medium 或 Spotify)。
  • 你不會想把 Google 密碼 交給這些第三方網站,卻還希望它們能存取你的部分資料(像是名字、Email)。
    這時候,就需要 OAuth 2.0。

甚麼是 OAuth 2.0?

OAuth 2.0 是一種 授權框架(Authorization Framework) ,它讓使用者能夠在 不暴露帳號密碼 的情況下,授權第三方應用存取部分資源。

簡單來說:

  • 我(使用者) -> 擁有 Google 帳號
  • 第三方網站(Client) -> 想要存取我的資料
  • Google(授權伺服器 + 資源伺服器) -> 核發憑證,讓第三方可以有限度地使用

生活化比喻

想像一下:

  • 你住在一個社區(Google),大門有門禁卡
  • 你的朋友(第三方網站)要幫你搬東西,但你不可能把門禁卡交給他
  • 於是管理員(OAuth 系統)給你一張 臨時訪客證(Access Token) ,朋友只能在 指定時間、指定區域 出入

這樣,你的密碼就不會外洩,同時朋友也能完成任務。


OAuth 2.0 的角色

  • 使用者(Resource Owner) -> 資料的擁有者,例如你。
  • 第三方應用(Client) -> 想要使用資料的應用程式。
  • 授權伺服器(Authorization Server) -> 負責驗證身份,並核發 Token。
  • 資源伺服器(Resource Server) -> 儲存實際的資料(例如 Google 的用戶資訊)。

為什麼需要 OAuth 2.0?

  • 保護使用者帳號密碼
  • 使用者可以精確授權(只開放部分資料)
  • Token 可控(有時效性,可以撤銷)
  • 已成為業界標準,像 Google、Facebook、GitHub 都在用

小結

  • OAuth 2.0 是一種授權框架
  • 讓第三方應用能有限度地存取資料,而不用拿到帳號密碼

上一篇
Day 8: API 認證方式介紹(API Key, Token)
系列文
API 全攻略9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言