Google Workspace 最近基於資安防護,已宣布2024年秋季起將使用 OAuth 驗證方式進行連線。如果有使用 Google Workspace 做為網站發信系統,也需要將其改為 OAuth 驗證方式。
Google:
2024 年夏季:
如果您或您的使用者是首次嘗試連線至低安全性應用程式,則無法進行這項操作。適用範圍包括仍使用基本驗證存取 Gmail、Google 日曆和聯絡人的第三方應用程式,例如 CalDAV、CardDAV、IMAP、SMTP 和 POP。如果您不是第一次嘗試連線,可以繼續使用這些應用程式,直到關閉為止。
您無法在 Google 管理控制台中,存取低安全性應用程式的開啟/關閉設定。
使用者將無法在他們的 Gmail 設定中開啟或關閉 IMAP。
2024 年秋季:系統會停用所有 Google 帳戶的低安全性應用程式存取權。
CalDAV、CardDAV、IMAP、SMTP 和 POP 將無法繼續使用舊密碼 (基本驗證)。
Google Sync:做為轉換至 OAuth 流程的一部分,Google Sync 也將淘汰,因為它不使用 OAuth 進行驗證:2024 年夏季:新使用者將無法透過 Google Sync 連結至 Google 帳戶。
2024 年秋季:現有的 Google Sync 使用者將無法使用 Google Sync 連線至 Google 帳戶。
引用來源請參考:從低安全性應用程式改用 OAuth
步驟
此操作會基於帳號所使用的網域作為預設機構,假設網域是 kumo.tw,那麼可以在 Google Workspace 中建立該網域的使用者帳號,例如 system@kumo.tw。登入帳號時將會預設「kumo.tw」為該機構。另外,也可以選擇「無機構」。
- 建立 Google Cloud 專案:
1)登入Google Cloud Consle。
2)在你的機構中建立一個新的專案。如果有機構、位置也需要填寫上去。 - 啟用 Gmail API:
1)前往「已啟用的API和服務」
2)搜索並啟用 Gmail API(或點選「+啟用API和服務」找到該API) - 建立OAuth 2.0憑證:
1)前往「憑證」>「建立憑證」>「OAuth用戶端ID」
2)第一次建立需先設定同意畫面,請點擊「設定同意畫面」。
3)如果是自己的系統要使用(比如伺服器網域郵件發信),選擇「內部」即可。
4)填寫:應用程式名稱、使用者支援電子郵件,與開發人員聯絡資訊,其餘可留空。
5)在「範圍」中,可留空,直接儲存並繼續。
6)到此步驟,OAuth同意畫面已建置完成。
7)再次前往「憑證」>「建立憑證」>「OAuth用戶端ID」
8)在OAuth用戶端ID中選擇應用程式類型,如果是網頁發信可選網頁應用程式。
9)設置「已授權的重新導向URL」,這裡是請求授權後回傳 Refresh Token 的地方,也就是我們要取得 Refresh Token 的地方。如果是使用PHPMailer,位置通常是:
https://xxx/vendor/phpmailer/phpmailer/get_oauth_token.php - 下載憑證文件並取得Refresh Token:
1)下載並妥善保存 JSON 檔案,裡面包含了用戶端編號(CLIENT_ID)和用戶端密鑰(API_KEY),此憑證號碼可隨時回來查看。 - 更新系統程式碼:
1)在程式碼中設置CLIENT_ID與API_KEY,然後訪問該文檔即可向Google取得Refresh Token。(需要取得Google OAuth2的相關套件)
本篇僅說明建立 OAuth 2.0 憑證的通用步驟,如果是PHPMailer要使用,需要搭配 composer 安裝 phpmailer/phpmaier 和 league/oauth2-google。
最後附上使用OAuth連線的畫面: