附註:

整合 Rocket.Chat 與單一登入的識別網域

簡介

Rocket.Chat 是一個安全且高度可自訂的開放原始碼通訊平台,適用於需要複雜安全性和隱私考量事項的組織。Rocket.Chat 可完全控制使用者資料與對話。此平台支援原生應用程式、與第三方應用程式無縫整合、跨通路協同合作、安全宣告標記語言 (SAML) 型單一登入 (SSO) 及使用 API 進行組態控制。

Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 是一個容器,可透過設定 Oracle SSO 組態和以 SAML/OAuth 為基礎的身分識別提供者 (IdP) 管理,用於管理使用者和角色、同盟及佈建使用者、保護應用程式整合。

在本教學課程中,我們將自動安裝 Rocket.Chat,並將 OCI IAM 整合為 SSO 的 IdP。

目標

必要條件

作業 1:部署堆疊以安裝 Rocket.Chat,並使用自動 Terraform 堆疊建立 SAML 應用程式

您可以使用不同的方法來部署 Rocket.Chat。本教學課程使用搭配 Docker 與 Docker 編寫一起部署選項。如需詳細資訊,請參閱部署 Rocket.Chat

為了簡化 Rocket.Chat 的安裝,我們建立了 Terraform 自動化堆疊。此堆疊將:

注意:執行連結的堆疊之前,請務必檢查要建立之資源的服務限制。如需詳細資訊,請參閱 IAM With Identity Domains Limits

  1. 從此處下載 Rocket.Chat 完整堆疊:Full_Stack_Rocket.Chat.zip

    下載 Rocket.Chat 完整堆疊壓縮檔之後,將檔案解壓縮,並以私密金鑰的個別內容取代 -rchat.pem 檔案的內容。

    注意:請使用 OCI 主控台中的 OCI 資源管理程式來部署堆疊,以避免發生任何失敗。

  2. 以管理員使用者身分登入 OCI 主控台,瀏覽至開發人員服務,在資源管理程式底下,按一下堆疊

    堆疊

  3. 選取區間,然後按一下建立堆疊。在堆疊組態段落中,選取要在步驟 1 中下載來建置堆疊的堆疊壓縮檔,然後按下一步

    堆疊上傳

    工作目錄

  4. 設定變數頁面中,輸入建立運算執行處理和其他資源所需的詳細資訊,然後按下一步

    注意:若要建立運算執行處理和負載平衡器,您將需要現有的 VCN 與公用連線。

    運算詳細資訊

    VCN 和 SSO 詳細資訊

  5. 複查頁面中,複查提供的詳細資訊,然後按一下建立

    複查詳細資訊

  6. 堆疊詳細資訊頁面中,按一下計畫。您應該得到成功 (Success) 輸出。

    啟動計畫工作

    計畫工作成功

  7. 堆疊詳細資訊頁面中,按一下套用。您應該得到成功 (Success) 輸出。

    起始套用工作

    成功套用工作

  8. 成功執行堆疊後,您可以在 IAM 網域中找到連附至代管 Rocket.Chat 之運算執行處理和 SAML 應用程式的負載平衡器。

    Compute

    Load Balancer

    SAML APP

    注意:堆疊執行大約需要 40 分鐘。等待直到工作成功。

工作 2:設定 Rocket.Chat 管理帳戶

在這項作業中,我們將會更新本機系統上的主機檔案,然後驗證部署的資源。

Windows:C:\Windows\System32\Drivers\etc\hosts

若為 Linux:/etc/hosts

Public IP Address of Load Balancer   your-domain-name.com

存取位於 https://your-domain-name.com:443 的 Rocket.Chat,系統會將您重新導向至設定頁面。

管理資訊

組織資訊

驗證電子郵件

確認

歡迎頁面

注意:請保護管理員密碼,在 Rocket.Chat 中建立 SAML IdP 時,我們需要此密碼。

工作 3:在 Rocket.Chat 中建立單一登入的 SAML IdP

  1. 登入您的 Rocket.Chat 執行處理,瀏覽至工作區設定值

    工作區

    設定值

  2. 設定值視窗中,輸入 SAML 並按一下開啟

    SAML 設定值

  3. 連線頁面中,選取啟用。輸入下列詳細資訊,然後按一下儲存變更。如果提示輸入管理密碼,請輸入密碼。

    • 自訂提供者:輸入 idcs

    • 更新自訂進入點:輸入您的自訂進入點。例如,https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/sso

    • IDP SLO 重新導向 URL:輸入您的 IdP SLO 重新導向 URL。例如,https://idcs-xxxx.identity.oraclecloud.com/fed/v1/idp/slo

    • 自訂發照者:輸入自訂發照者。例如,https://your-domain-name.com/_saml/metadata/idcs

    • 自訂憑證:從使用堆疊建立的 SAML 應用程式下載簽署憑證並複製內容。

      注意:請排除 BEGIN CERTIFICATEEND CERTIFICATE 行。

    • 公用憑證內容:複製憑證的整個內容。

    • 簽章驗證類型:選取驗證宣告簽章

    連線詳細資訊

    憑證詳情

    注意:請使用相同的自訂提供者靜態值,否則 SSO 可能會因為在「工作 1」中建立的 SAML 應用程式中所參照而失敗。

  4. 一般頁面的使用者介面區段下,如果您需要變更按鈕文字和其他詳細資訊,請按一下儲存變更

    使用者介面

工作 4:使用 OCI IAM 測試 Rocket.Chat 的 SSO

  1. 開啟您的瀏覽器,然後輸入 Rocket.Chat https://demo.rocketchat.com:443 的 URL。

    登入

  2. 此時會顯示 OCI IAM 識別網域登入頁面。使用先前建立之使用者的使用者名稱密碼

    同盟登入

  3. 認證成功後,會將使用者重新導向至 Rocket.Chat 首頁。

    歡迎頁面

    注意:您應該在 OCI IAM 和 Rocket.Chat 中建立具有相同電子郵件地址的通用使用者。

使用 OCI IAM 進行 Rocket.Chat SSO 的常見疑難排解案例

  1. 確定您已啟用網域、網域、設定值階段作業設定值底下的允許跨來源資源共用 (CORS)

  2. 如果您的 Rocket.Chat 執行處理需要一些時間才能載入,您可以嘗試在執行處理中 SSH,然後使用下列命令重新啟動您的 Docker 編寫。

    	docker compose down
    
    	docker compose up -d
    

認可

其他學習資源

瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center