Thunderbird 的 OAuth
- 為求簡潔,我們將使用 OAuth 一詞,而非 OAuth 2 或 OAuth 2.0。Thunderbird 目前實作的 OAuth 是基於最常見的 OAuth 2.0 版本。
- 在 Thunderbird 153 之前的版本,OAuth 對話框會顯示在 Thunderbird 內的分頁中。153 及之後的版本則改為在您系統的預設網頁瀏覽器(如 Firefox、Chrome 等)中外部顯示 OAuth 對話框。
目次
什麼是 OAuth?
OAuth 是一種網路標準,可讓您授權應用程式(例如 Thunderbird)或服務登入供應商,而無需洩露私人資訊,例如您供應商帳戶的密碼。
對於技術背景較少的用戶,這裡有一個關於 OAuth 的「銀行」比喻:
- 您不是將您的完整存取密碼(可讓您存取供應商所有服務的密碼)提供給 Thunderbird,而是直接登入銀行的網站(網站上可能會有銀行的廣告)。
- 一旦您的身分通過驗證,銀行會給 Thunderbird 一個臨時的、層壓過的訪客證(存取權杖),上面附有有限的照片 ID (OpenID)。Thunderbird 絕不會儲存您的密碼,只會儲存這個權杖。
- Thunderbird 會向金庫守衛(電子郵件伺服器)出示此證件來擷取您的郵件(有時也包含您的聯絡人和行事曆),但不能存取銀行中的任何其他東西,這一切都無需您的完整存取密碼。
為技術背景較少的用戶提供的更詳細 OAuth 解釋
「銀行」的比喻解釋了其運作方式:
- 銀行與金庫(您的電子郵件供應商): Google、Microsoft 等公司扮演著安全銀行的角色,保管著您寶貴的資產(電子郵件、聯絡人、行事曆)。
- 您的完整存取密碼(您的使用者名稱/密碼): 這是您整個保險箱的鑰匙。您只在驗證過程中直接向銀行出示,絕不向隨機的第三方應用程式出示。
- Thunderbird(快遞員): Thunderbird 是您僱用的快遞服務,用來從銀行遞送和收取您的郵件。
- OAuth 權杖(臨時證件): 銀行不會將您的密碼交給快遞員,而是發給 Thunderbird 一個有時效性的層壓訪客證。
流程如何運作
- 請求存取: 當您在 Thunderbird 中設定新電子郵件時,它會向銀行請求一個證件。
- 層壓證件: 銀行會暫時將您重新導向到他們的安網站(銀行的「大廳」),您在那裡使用您的完整存取密碼(例如您的 Google 或 Microsoft 帳戶密碼)以及可能的雙重要素驗證 (2FA) 來驗證您的身分。
- 受限的權限: 一旦驗證通過,銀行會發給 Thunderbird 一個存取權杖。此權杖僅授予讀取和傳送電子郵件(以及可能的聯絡人和行事曆)的能力——它不能用於任何其他事情(例如 Google Photos 或 Microsoft 的 One Drive)、變更您的帳戶密碼或將您鎖在帳戶之外。
- 撤銷存取: 如果您不再信任 Thunderbird,或者您的裝置遺失,您可以致電銀行(前往您的 Google 或 Microsoft 帳戶設定)並告訴他們「取消該證件」。Thunderbird 會立即失去存取權限,但您的帳戶(例如您的 Google 或 Microsoft 帳戶)則不受影響。
這還不夠技術性。請深入解釋 OAuth!
OAuth 是一種網路標準,可讓您授權一個應用程式或服務登入另一個應用程式或服務,而無需洩露密碼等私人資訊。您可能見過的「使用 Google / Apple / Microsoft 登入」就是 OAuth 的一個例子。許多電子郵件供應商,如 Gmail 和 Outlook,都使用 OAuth 來允許 Thunderbird 登入其電子郵件服務,而無需與 Thunderbird 分享完整的電子郵件供應商憑證。
對於 Gmail、Outlook、Yahoo Mail 以及許多其他供應商來說,OAuth 是預設的驗證方法。供應商(而非 Thunderbird)會開啟您系統的網頁瀏覽器,並顯示一系列帶有供應商標誌的對話框,要求您輸入帳戶使用者名稱和密碼、同意服務條款,並授權您希望 Thunderbird 存取的供應商資料類型,例如郵件、行事曆和聯絡人。這些對話框中的任何一個或全部都可能包含廣告。這些對話框中顯示的任何內容(包括廣告)均由電子郵件供應商控制,而非 Thunderbird。
OAuth 對話框順序
在驗證過程中,您將會看到以下部分或全部對話框:
- 提供您的使用者名稱、電子郵件或手機號碼。使用者名稱將是您的電子郵件地址。
- 提供您的帳戶密碼(請勿使用您的應用程式密碼)。
- (可選)同意服務條款。
- (可選)選擇一種方法來確認「真的是您嗎?」,方法是將安全碼傳送到您的手機或帳戶電子郵件地址,然後在後續的對話框中輸入收到的代碼。
- 授予 Thunderbird 存取以下部分或全部資料的權限:郵件、聯絡人、行事曆。
在驗證過程結束時:
- 您的供應商會傳送一個存取權杖,Thunderbird 會將其儲存在密碼清單中,以便將來存取伺服器。權杖是一串字元,允許特定裝置上的特定客戶端進行存取——它不是密碼。權杖最終會在供應商決定的時間到期,屆時您需要再次使用您的使用者名稱和密碼進行驗證。如果您不知道密碼,則必須在網頁瀏覽器中使用供應商的帳戶頁面來建立新密碼,這通常稱為密碼重設。
- Thunderbird 會根據您剛才提供的驗證設定來配置帳戶。
如何排解 OAuth 問題?
如果您的電子郵件供應商正在使用 OAuth,而您看到驗證或授權錯誤,請遵循此檢查清單:
- OAuth 需要 JavaScript 和 Cookie,您的系統網頁瀏覽器可能未啟用它們。必須啟用它們才能讓 OAuth 正常運作。請再次檢查它們是否已啟用(請參閱您系統瀏覽器的文件)。例如,Firefox 的文件可以在 support.mozilla.org/products/firefox 找到。
- OAuth 會在您的電腦上的 80 連接埠執行一個網頁伺服器。如果您有其他軟體在
localhost或127.0.0.1的 80 連接埠上執行(例如 WebDAV 客戶端),請停用它以使 OAuth 正常運作。 - 由於 OAuth 使用系統網頁瀏覽器,所有正常的瀏覽器疑難排解步驟都適用。請參閱您系統瀏覽器的官方文件進行疑難排解。例如,以下是 Firefox 的步驟:解決 Firefox 的疑難雜症。簡而言之:
- 如果您的瀏覽器有類似 Firefox 疑難排解模式 的功能,請試試看使用它是否能解決您的 OAuth 問題。
- 停用擴充套件。
- 停用防毒軟體和其他第三方軟體。
- 如果您使用 Windows,請嘗試 Windows 安全模式。
- 嘗試將您的系統網頁瀏覽器更換為另一個瀏覽器。例如,將它從 Chrome 更換為 Firefox。
- 首先向您的電子郵件供應商尋求支援——大多數時候,OAuth 問題並非由 Thunderbird 引起。從傳統密碼轉換到 OAuth 可能會導致只有您的電子郵件供應商才能解決的問題。
- 向我們遍布全球、出色的 Mozilla 支援志工社群尋求支援,20 多年來,他們完成了 Thunderbird 的大部分支援工作:support.mozilla.org/questions/new/thunderbird/form