跳至主要內容

Google Workspace

與 Google Workspace 連接
(SSO)

在 Google Cloud 專案中建立 OAuth 用戶端,讓員工能用公司的 Google Workspace 帳號登入 Aiyori(SSO,OpenID Connect)。

共用的值與疑難排解,請見連接公司的身分管理平台頁面。文中的畫面名稱,是 2026 年 10 月時 Google 各主控台英文版的名稱。

可以做到與做不到的事

SSO(OpenID Connect)
可以。用公司的 Google 帳號登入。
SCIM
不行。Google Workspace 只會透過 SCIM,把人員傳送給 Google 目錄中的應用程式。

代替 SCIM 的做法

  • 在 Aiyori 開啟「尚未登記的人員登入時,將其登記為學員」。公司網域的人第一次登入時,就會成為學員。
  • 要依部門等分組,或事先登記時,請把從 Google Admin console 匯出的名單,用 Aiyori 的「批次登記」(CSV)匯入(見下方第 4 節)。
  • 離職的人,只要停用 Google 帳號就無法登入。Aiyori 的學員會保留,因此請講師在每月匯入名單等時候,於學員畫面中將其暫停或終止使用。
  • 若一定要自動同步,可以在 Google 前面加上 Okta 或 Microsoft Entra ID,就能使用 SCIM。

事前準備

  • 能在 Google Cloud console(https://console.cloud.google.com)中,於公司的組織內建立專案的人。
  • 不需要 Google Workspace Admin console 的超級管理員(Aiyori 只要求 openid email profile,不使用敏感範圍)。
  • 不需要費用(OAuth 用戶端是免費的)。

1. 專案與同意畫面

  1. Google Cloud console → 上方的專案選擇器 → New Project → 名稱設為 aiyori-sso,Organization 選擇公司的組織,然後按 Create。
  2. Google Auth Platform(從選單的 APIs & Services → OAuth consent screen 進入)→ Get started。App name 填 Aiyori,User support email 與聯絡資訊填 IT 負責人的地址,Audience 設為 Internal,同意後按 Create。
  3. Data Access 中不要新增任何項目(openid、email、profile 一開始就能使用)。

Audience 設為 Internal 後,只有公司 Google Workspace 中的人可以登入。公司以外的 Google 帳號,會在 Google 的畫面被擋下。

2. OAuth 用戶端

  1. Google Auth Platform → Clients → + Create client。
  2. Application type 設為 Web application,名稱設為 Aiyori。
  3. Authorized redirect URIs → + Add URI → https://app.aiyori.app/api/web/sso/callback。Authorized JavaScript origins 可以留空。
  4. Create → 記下 Client ID 與 Client secret。用戶端密碼之後可能無法再查看。忘記記下時,請在該用戶端的頁面新增用戶端密碼,再替換。

3. 填入 Aiyori

在 Aiyori 的講師畫面 →「設定」→「連接公司的身分管理平台」→「SSO」中填入,然後按「儲存」。

發行者 URL(Issuer)
https://accounts.google.com
用戶端 ID
在第 2 節記下的值(….apps.googleusercontent.com)
用戶端密碼
在第 2 節記下的值
允許的電子郵件網域
必須填寫(留空無法儲存)。填入公司 Google Workspace 的主要網域(例如 example.com);若員工的電子郵件地址還使用其他網域(次要網域),也一併填入,每行 1 個。
自動登記
開啟「尚未登記的人員登入時,將其登記為學員」(因為沒有 SCIM)。

儲存後,請用 1 個公司帳號登入確認(登入畫面 →「使用公司帳號登入」→ 組織代碼 → 選擇 Google 帳號 → 回到 Aiyori)。管理員也可以在「自己試著登入」中用「用我的公司帳號試一下」測試。

發行者 https://accounts.google.com 對所有 Google 帳號都相同。誰能進入,由同意畫面的 Internal,以及 Aiyori 的允許網域這 2 處篩選。兩者都請務必設定。

4. 名單與小組

  1. Google Admin console → Directory → Users → Download users(CSV)。
  2. 用試算表軟體開啟,整理成姓名(姓與名合併為 1 欄)、電子郵件地址、部門(例如 Org Unit Path,改成容易理解的名稱)這 3 欄,並把標題改成這些名稱。Google 的標題(例如 Email Address [Required])無法直接讀取。
  3. 在 Aiyori 的學員畫面 → 於「批次登記」貼上,或選擇 CSV →「檢查」→ 登記。部門欄會成為小組(每次最多 1,000 人)。
  4. 每次有人到職或調動時(或每月),重複相同的步驟。同一個人只會被更新,不會重複(依員工編號 → 電子郵件地址的順序辨識)。

5. 連接當天要確認的事

  • 能用公司帳號進入。第一次登入的人會登記為學員。
  • 公司以外的 Google 帳號(個人的 gmail.com)會在 Google 的畫面被擋下(因為同意畫面設為 Internal)。即使沒被擋下,也無法進入 Aiyori(因為沒有 hd)。
  • Google 帳號已停用的人,無法用公司帳號進入。

Google Workspace 與 Aiyori 的搭配方式

Google 登入後,Aiyori 會確認以下事項。

  • ID 權杖的發行者(iss)是 https://accounts.google.com 或 accounts.google.com(Google 兩者都會使用)。
  • hd(該人員的 Google Workspace 主要網域)是允許的網域之一。個人 Google 帳號(gmail.com 等,沒有 hd)與其他公司 Workspace 的人無法進入(即使誤將同意畫面設為 External,也會在這裡擋下)。
  • 電子郵件地址(email)的網域,也是允許的網域之一。email_verified 為 false 的人無法進入。
  • 第一次登入的人,若已開啟自動登記,就會登記為學員(ID 是電子郵件地址 @ 前面的部分,姓名是 Google 的顯示名稱)。第 2 次起,會以 Google 的 sub 辨識為同一個人。