本篇文章更新時間:2025/06/29
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
最近在公司裡導入這套 Kanboard 老牌子的開源專案管理工具,號稱也是 Trello 的替代品。而我實際上使用後也覺得真的是可以啊~
不過平時要管理的帳密已經很多了,多一個服務又要多一組帳密,直覺就是麻煩。所以來找找看有沒有支援 SSO 單一登入的工具可以使用。
可惜支援 SAML 設定的 SamlAuth 外掛原作於 2018 年後就不再更新,這邊我就是直接 Fork 出來改成我目前使用的版本,可以參考 GitHub repo: SamlAuth
前置準備
- 安裝好一套 Kanboard 服務
- 產製一組密鑰
- Google Workspace Admin 權限的帳號
安裝 Kanboard 服務
Kanboard 這專案已經算是進入維護期,我的安裝方式就是直接開一個網站,原始碼直接使用 git clone https://github.com/kanboard/kanboard
來抓最新原始碼。
然後複製 config.default.php
設定組態範本為新檔案 config.php
編輯 config.php
檔案,設定對應資料庫資訊、發信的 SMTP 資訊等,就差不多了。
預設使用 admin
帳號密碼登入,這樣就算完成了!
有夠簡單吧!記得改強一點密碼與替換預設帳號。
接下來就是各種好用的外掛安裝,以及本篇主角 SAML 授權外掛: SamlAuth
cd plugins
git clone https://github.com/nczz/SamlAuth.git
git submodule update --init --recursive
直接在外掛目錄下把整個 repo 複製進去即可(預設就會啟用)
產製密鑰
自架的 Kanboard 會需要一組加密用的密鑰來確保與驗證方通訊是安全的,所以也要先產生一組來用:
openssl req -newkey rsa:2048 -nodes -keyout sp-private.key -x509 -days 365 -out sp-public.crt
這行指令會出現:sp-private.key, sp-public.crt 兩個檔案,接下來設定時會用到。參考下段落的設定截圖!
設定 SamlAuth 外掛
到 /settings/integrations
來開始設定,畫面如下:
這邊要注意,第一個「固定值」不是指完全要照我的,而是外掛中早已是認定
https://domain/sso/metadata
Entity 值,還是要改成自己的網域來對應,其他類似欄位亦同。
下方的「Identity Provider」部分,就是指這些是要去設定對應 Google Workspace 的地方。
步驟:
- 登入 admin.google.com
- 左側選單中找到「應用程式 -> 網頁和行動應用程式」,新增一個「自訂 SAML 應用程式」
應用名稱與說明照自己想紀錄的填寫,關鍵是在下一頁的 單一登入 (SSO) 網址
、 實體 ID
與 憑證
。
對應 Kanboard 中 SamlAuth 設定的就是 Single Signon Service
、IDP Entity ID
與 IDP Certificate
。
服務供應商詳細資訊
頁面中的 ACS網址
與 實體 ID
則是對應外掛設定中的 Single Signon Service
與 SP Entity ID
。
IDP -> 識別資訊提供者。SP -> 服務提供者。Assertion Consumer Service(ACS) 網址 -> 接收驗證結果的頁面
在這應用程式中 名稱 ID
的部分,就是指定後續回傳對應服務需要哪些欄位來對應的設定。基本上照前面圖片提供設定,主要就是用信箱當登入的帳號、選個姓或名來對應顯示名稱等。
最後,設定完 Google Admin 這邊應用程式後,還要記得回到列表中找到那個應用程式,去把服務狀態改為對所有人啟用
,才算正式完成哦~