跳至主要內容

設定 Google Workspace 單一登入 (SSO, Single Sign-On)

只需極少設定,即可透過此連接器整合 Microsoft Entra ID 以實現企業級單一登入 (SSO)。

提示:

如需更多關於單一登入 (SSO) 的資訊以及如何在 Logto 中配置 SSO,請參閱 企業級單一登入 (Enterprise SSO) (SAML & OIDC) 文件以開始使用。

步驟 1:在 Google Cloud Platform 建立新專案

在你能使用 Google Workspace 作為驗證 (Authentication) 提供者之前,你必須在 Google API Console 中設定一個專案以取得 OAuth 2.0 憑證。如果你已經有一個專案,可以跳過此步驟。否則,請在你的 Google 組織下建立一個新專案。

為了建立新的 OIDC 憑證,你需要為應用程式設定使用者授權頁面。

  1. 前往 OAuth 使用者授權頁面 並選擇 Internal 使用者類型。這將使 OAuth 應用程式僅對你的組織內的使用者可用。
Google Workspace 使用者授權頁面使用者類型
  1. 根據頁面上的指示填寫 Consent Screen 設定。你需要提供以下最低限度的資訊:
  • Application name:你的應用程式名稱,將顯示在使用者授權頁面上。
  • Support email:你的應用程式支援電子郵件,將顯示在使用者授權頁面上。
Google Workspace 使用者授權頁面設定
  1. 設定應用程式的 Scopes。為了正確從 IdP 檢索使用者的身分資訊和電子郵件地址,Logto SSO 連接器需要從 IdP 授予以下權限範圍:
Google Workspace 使用者授權頁面權限範圍
  • openid:此權限範圍是 OIDC 驗證所需,用於檢索 ID 權杖並存取 IdP 的 userInfo 端點。
  • profile:此權限範圍是存取使用者基本個人資料資訊所需。
  • email:此權限範圍是存取使用者電子郵件地址所需。

點擊 Save 按鈕以保存使用者授權頁面設定。

步驟 3:建立新的 OAuth 憑證

導航至 Credentials 頁面,然後點擊 Create Credentials 按鈕。從下拉選單中選擇 OAuth client ID 選項,為你的應用程式創建新的 OAuth 憑證。

Google Workspace create credentials

繼續設置 OAuth 憑證,填寫以下資訊:

Google Workspace credentials config
  1. 選擇 Web application 作為應用程式類型。
  2. 填寫客戶端應用程式的 Name,例如 Logto SSO Connector。這將幫助你在未來識別這些憑證。
  3. Authorized redirect URIs 中填入 Logto 回呼 URI。這是 Google 在成功驗證後將使用者的瀏覽器重定向的 URI。當使用者成功通過身分提供者 (IdP) 驗證後,IdP 會將使用者的瀏覽器重定向回此指定的 URI,並附帶授權碼。Logto 將根據從此 URI 接收到的授權碼完成驗證過程。
  4. Authorized JavaScript origins 中填入 Logto 回呼 URI 的來源。這確保只有你的 Logto 應用程式可以向 Google OAuth 伺服器發送請求。
  5. 點擊 Create 按鈕以創建 OAuth 憑證。

步驟 4:使用用戶端憑證設定 Logto 連接器

成功建立 OAuth 憑證後,你將會看到一個提示視窗,內含 client ID 和 client secret。

Google Workspace create credentials

複製 Client IDClient secret,並填入 Logto 的 SSO 連接器 Connection 標籤中的相應欄位。

現在你已成功在 Logto 上配置了 Google Workspace SSO 連接器。

步驟 5:額外權限範圍 (選填)

Scopes(權限範圍)定義你的應用程式向使用者請求的權限,並控制你的應用程式能從他們的 Google Workspace 帳戶存取哪些資料。請求 Google 權限需要雙方設定:

在 Google Cloud Console:

  1. 前往 APIs & Services > OAuth consent screen > Scopes
  2. 點擊 Add or Remove Scopes,僅選擇你的應用程式所需的 scopes(權限範圍):
    • 驗證 (Authentication)(必填):
      • https://www.googleapis.com/auth/userinfo.email
      • https://www.googleapis.com/auth/userinfo.profile
      • openid
    • API 存取(選填):根據應用程式需求新增額外的 scopes(例如 Drive、Calendar、YouTube)。可瀏覽 Google API Library 以查找可用服務。如果你的應用程式需要超出基本權限的 Google API 存取,請先在 Google API Library 啟用應用程式將使用的特定 API(如 Google Drive API、Gmail API、Calendar API)。
  3. 點擊 Update 以確認選擇。
  4. 點擊 Save and Continue 以套用變更。

在 Logto Google Workspace 連接器 (Connector):

  1. Logto 會自動包含 openidprofileemail scopes(權限範圍),以取得基本使用者身分資訊。如果你只需要基本使用者資訊,可以將 Scopes 欄位留空。
  2. 若需向 Google 請求更多資料,請在 Scopes 欄位中以空格分隔新增額外的 scopes(權限範圍)。請使用完整的 scope URL,例如:https://www.googleapis.com/auth/calendar.readonly
提示:

如果你的應用程式請求這些 scopes(權限範圍)以存取 Google API 並執行操作,請務必在 Logto Google 連接器 (Connector) 中啟用 Store tokens for persistent API access(儲存權杖以持久存取 API)。詳情請參閱下一節。

步驟 6:儲存權杖以存取 Google API(選填)

如果你想存取 Google APIs 並在使用者授權下執行操作,Logto 需要取得特定的 API 權限範圍 (Scopes) 並儲存權杖 (Tokens)。

  1. 在 Google Cloud Console 的 OAuth 使用者授權頁面 (Consent screen) 設定及 Logto Google 連接器 (Connector) 中新增所需的權限範圍 (Scopes)。
  2. 在 Logto Google 連接器中啟用 儲存權杖以持續存取 API(Store tokens for persistent API access)。Logto 會將 Google 存取權杖 (Access tokens) 和重新整理權杖 (Refresh tokens) 安全地儲存在 Secret Vault。
  3. 為確保能取得重新整理權杖 (Refresh tokens),請在 Logto Google 連接器中啟用 離線存取(Offline Access)
注意:

你不需要在 Logto 的 Scope 欄位中加入 offline_access —— 這麼做可能會導致錯誤。Google 在啟用離線存取時會自動使用 access_type=offline

步驟 7:設定電子郵件網域並啟用 SSO 連接器

在 Logto 的連接器 SSO 體驗 (SSO experience) 分頁中提供你組織的 email domains。這將使 SSO 連接器成為這些使用者的驗證 (Authentication) 方法。

擁有指定網域電子郵件地址的使用者,將會被導向僅能使用你的 SSO 連接器進行驗證 (Authentication)。

如需更多有關 Google Workspace SSO 連接器的資訊,請參閱 Google OpenID Connector