身份驗證Token是一個用於驗證和確保通信安全的數字憑證,常見的有OAuth和JWT,今天來介紹OAuth。
什麼是 OAuth?
OAuth(開放授權,Open Authorization)是一個開放標準,用來讓應用之間安全地交換用戶的授權信息,不需要暴露用戶的帳戶憑證(如密碼)。OAuth使第三方應用能夠在不存儲或管理用戶憑證的情況下,安全地訪問用戶的數據,通常被用於網站或應用程序之間共享數據,比如應用允許你使用Google帳號登錄,獲取你的資料。
OAuth 的核心概念
OAuth 的工作流程
OAuth的典型流程如下:
OAuth 的授權類型
OAuth 的 Token 類型
OAuth 的優點
[資源所有者 (使用者)]
|
| (1. 授權請求)
v
[授權伺服器 (Google)]
|
| (2. 授權碼)
v
[客戶端應用 (例如:你的應用)]
|
| (3. Token請求)
v
[授權伺服器 (Google)]
|
| (4. 訪問Token)
v
[客戶端應用 (例如:你的應用)]
|
| (5. 訪問資源)
v
[資源伺服器 (例如:Google API)]
簡單說明:
授權請求:使用者點擊「用Google帳戶登入」,應用向授權伺服器發送授權請求。
授權碼:授權伺服器確認授權後,將授權碼返回給應用。
Token請求:應用使用授權碼向授權伺服器請求訪問Token。
訪問Token:授權伺服器返回訪問Token,應用可以利用它存取資源伺服器上的數據。
訪問資源:應用使用Token向資源伺服器請求數據,如Google API提供的使用者資料。