跳轉到

Brands & OAuth

Brand 讓 organization 可以在不同 workspace 與 Channel 重複使用同一組對外識別與 OAuth 設定。當發布體驗應代表特定業務或客戶品牌,而不是使用預設 workspace identity 時,再使用這項功能。

在尚未建立任何 Brand 前的空白狀態

先理解三個連接關係

可以正常使用的品牌登入包含三個不同關係:

  1. Organization 擁有 Brand 與 OAuth provider。
  2. Workspace 被指派給這個 Brand。
  3. 該 workspace 裡的 Web Channel 綁定 OAuth provider。

只建立 Brand 不會自動改變 workspace 或 Channel。三個關係都完成後,仍要測試已發布的登入流程。

先準備 OAuth provider

目前 Brand 表單支援 Google OAuth。進入 Codeer 前,請先準備:

  • 適用於正確環境的 Google OAuth client
  • Client ID 與 Client Secret
  • 該 Codeer deployment 指定的完整 authorized redirect URI
  • 已核准的 scopes;一般 identity flow 通常需要 profileemail

不同環境的 redirect URI 不同。請向 deployment 管理員取得正確值,不要把 preview 或 local URL 複製到 production。Scopes 只申請對外體驗真正需要的範圍。

步驟 1:建立 Brand

打開 Organization Settings → Brands,點擊 新增,輸入 Brand 名稱與描述。

Create Brand 視窗

建立後打開 Brand 並上傳 logo。目前 logo 支援最大 1 MB 的 JPEG 或 PNG。

步驟 2:把 Brand 指派給 workspace

打開 Organization Settings → Workspaces,編輯目標 workspace,再選擇 Brand。Brand 詳情頁會列出目前正在使用它的 workspaces。

只有在多個 workspace 應共用同一套公開識別與登入管理責任時,才共用同一個 Brand。

步驟 3:加入 Google OAuth provider

打開 Brand,在 OAuth Providers 底下點擊 新增

欄位 要填入什麼
Provider Type Google
Display Name 能分辨環境與用途的名稱,例如 Google OAuth for Production
Client ID 這個環境使用的 Google OAuth client ID
Client Secret 建立 provider 時必填
Scopes 分別加入已核准的 scope,例如 profileemail

編輯 provider 時,Client Secret 留空會保留既有 secret;只有輪替 credential 時才輸入新值。

步驟 4:把 provider 綁到 Web Channel

打開目標 workspace,選擇 Channels,打開 Web Channel,再從 OAuth 區塊加入 Brand 的 provider。同一個 Channel 不能綁定兩個相同 provider type。

管理 Brand 與 provider 需要 organization connection-management 權限;在 Channel 綁定或移除 provider 則需要 workspace resource-management 權限。

擴大存取前先測試

使用尚未登入的帳號檢查:

  • 登入是從預期的已發布 Channel URL 開始
  • Google 顯示正確的 app identity 與 scopes
  • Callback 會回到正確 Channel
  • 登入後使用者會進入預期的 workspace access 狀態
  • 拒絕或失敗的登入不會開放受保護體驗

新增、輪替、解除綁定或刪除 OAuth provider 都屬於存取權變更。擴大分享 Channel 前,請先重新測試。

刪除可能破壞使用中的關係

刪除 OAuth provider 會移除它和 Client Channels 的關係;刪除 Brand 會讓使用中的 workspaces 解除指派。刪除任何一筆紀錄前,先處理或替換這些依賴關係。

相關指南