OAuth(開放授權)是一種用於授權網路應用程式訪問另一個使用者帳戶資料的協議。它允許使用者向第三方應用程式授予有限的存取權限,而無需將他們的登入資訊直接提供給該應用程式。這種機制有助於保護使用者的個人資訊,同時使應用程式能夠在獲得必要權限的情況下,執行特定的操作。
OAuth 協議涉及三個主要角色:
- 使用者(Resource Owner):資源擁有者,即帳戶的使用者。
- 客戶端(Client):代表使用者訪問其帳戶資料的應用程式,需要存取權限。
- 認證伺服器(Authorization Server):管理用戶身份驗證和授權的伺服器。
OAuth 的流程通常包括以下步驟:
- 客戶端請求授權:當使用者想要使用特定應用程式時,應用程式將請求用戶授予存取權限。
- 使用者授權:使用者在應用程式的請求下,前往認證伺服器並登入,然後同意授予應用程式特定的存取權限。
- 獲取授權碼:認證伺服器將一個授權碼返回給客戶端。
- 獲取存取權杖:客戶端使用授權碼向認證伺服器請求存取權杖,用於代表使用者訪問受保護的資源。
- 存取受保護資源:使用存取權杖,客戶端可以訪問使用者的資源,例如照片、文件等。
總結來說,OAuth 提供了一種安全且標準化的方式,讓使用者可以授予第三方應用程式有限的網路存取權限,而無需分享其登入資訊。這有助於平衡方便性和資訊安全。