知識庫

設定單一登入(SSO)以存取私人內容

作者:HubSpot Support | Nov 21, 2022 1:20:57 PM

單一登入(SSO)是一種使用單一使用者名稱和密碼安全登入不同應用程式的方式。

透過適用於私人內容的SSO ,您的IT管理員可以在您的身分識別提供者帳戶中設定HubSpot應用程式,例如Google或Okta。 擁有身分提供者帳戶中HubSpot應用程式存取權的組織成員,可以使用SSO登入以檢視私人內容。 

您可以根據HubSpot帳戶中的清單成員資格進一步細化哪些人可以存取特定內容 。 若要按清單成員資格存取內容,這些團隊成員必須在您的HubSpot帳戶中擁有聯絡人記錄

私人內容的SSO適用於以下訂閱:

在您開始之前

  • 此設定過程必須由具有在您的身分識別提供者帳戶中建立應用程式經驗的IT管理員完成,並且具有在HubSpot中編輯網站設定的權限。 
  • 可以為每個身分識別提供者帳戶配置一個HubSpot託管的子網域。 為了獲得最佳效果,建議僅將一個子網域用於SSO成員資格。
  • 需要SSO的私人內容的通知電子郵件和登入頁面將由您的身分識別供應商帳戶處理,而不是您在HubSpot中的私人內容設定。
  • 需要SSO的私人內容不會被搜尋引擎檢索,只能由具有存取權限且已登入的聯絡人檢視。
  • 任何頁面資產(如圖像和表單)只需要將SSO作為頁面的一部分進行存取。 如果單獨提供資產本身的URL ,則需SSO即可存取。 深入瞭解如何在檔案工具中為資產設定URL可見性。 
  • 如果你為先前需要註冊成員的網域啟用SSO , SSO將使用你原本的會籍清單。 如果你再次關閉SSO ,內容將恢復為要求相同清單的會員註冊。 

在您的身分識別供應商帳戶中為HubSpot私人內容設定SSO

若要為HubSpot中託管的私人內容設定SSO ,您的IT管理員將為HubSpot內容存取建立新的應用程式。 為了完成此過程,您的IT管理員將參考您在HubSpot中的私人內容設置中的值。 

請注意:如果您需要SSO的子網域已託管會員註冊的私人內容,則註冊的聯絡人將無法再存取該內容。

在身分識別服務供應商中新增應用程式所需的步驟和欄位可能會有所不同。 以下是為私人內容設定SSO的一般說明。

為基於SAML的應用程式設定SSO 

若要在您的身分識別提供者帳戶中為HubSpot私人內容建立新的SAML應用程式:

  • 登入你的身份識別供應商帳戶。
  • 前往身分識別服務供應商帳戶中的應用程式。
  • 在您的HubSpot帳戶中,收集新HubSpot應用程式所需的值:
    • 在左側邊欄選單中,前往「內容」>「私人內容」。
    • 在頁面頂部,按一下「選擇要編輯的網域」下拉式選單,然後選取子網域。
    • 在單一登入(SSO)區段中,按一下設定SSO。
    • 在右側面板中,按一下安全性權杖格式下拉式選單,然後選取SAML。
    • 複製受眾網址並登入網址。

  • 在您的身分識別供應商帳戶中:
    • 將從HubSpot複製的受眾網 址和登入網址貼到相應的欄位中。
    • 複製I ssuer URL、單一登入URL和憑證的識別碼。
  • 在您的HubSpot帳戶中:
    • 將I ssuer URL、單一登入URL 和憑證值貼到「設定單一登入」面板的相應欄位中。
    • 按一下「驗證」。

完成驗證程序後,系統會在私人內容設定中,確認你的網域已啟用單一登入。 

為基於JWT的應用程式設定SSO

  • 在您的身分識別供應商帳戶中: 
    • 前往身分識別服務供應商帳戶中的應用程式。
    • 複製遠端登入網址和金鑰的識別碼。 找到簽署演算法。 
    • 為了提高安全性,請複製問題、主旨和受眾。 
  • 在您的HubSpot帳戶中,在SSO設定中輸入這些值:
    • 在左側邊欄選單中,前往「內容」>「私人內容」。
    • 在頁面頂部,按一下「選擇要編輯的網域」下拉式選單,然後選取子網域。
    • 在單一登入(SSO)區段中,按一下設定SSO。
    • 在右側面板中,按一下安全性權杖格式下拉式選單,然後選取JWT。
    • 貼上遠端登入網址
    • 按一下簽署演算法下拉式選單,然後選取身分識別提供者帳戶中的值 。
    • 貼上密鑰。 如果同時使用公鑰和私鑰的非對稱簽署演算法,密鑰將是公鑰。
請注意: 
  • 使用公開金鑰時,不需要包含頁首和頁尾。
  • 如果確實包含頁首和頁尾,請複製並貼上以下文字,然後將預留位置替換為公開金鑰:
    • -----BEGIN PUBLIC KEY-----

      [您的公鑰]

      -----END PUBLIC KEY-----

    • 為了提高安全性,請貼上問題、主題和受眾。 
    • 按一下「驗證」。 

系統會開啟

一個視窗,顯示SSO設定中指定的「遠端登入網址」。 在視窗中打開的URL將包括查詢參數'redirect_url' ,其中包含您正在配置的網域上的URL值和路徑'_hcms/mem/jwt/verify'。

為了進行驗證,在「遠端登入網址」上輸入憑證後,需要向「redirect_url」參數中指定的網址提出要求。 此請求必須包含一個受支援的查詢參數,其值必須是JWT/雜湊,一旦解密,其負載中就會包含一個具有有效電子郵件地址的「電子郵件」欄位。 支援的查詢參數為‘jwt‘、’code‘、'id_token’和‘access_token’。

JWT/雜湊將由HubSpot使用SSO設置中提供的簽名算法和密鑰進行解密。 在「遠端登入URL」頁面上輸入有效憑證後,應在您的身份提供者帳戶中設定傳送此後續請求。 

完成驗證程序後,系統會在私人內容設定中,確認你的網域已啟用單一登入。

驗證完成後,通過「遠端登入網址」驗證的訪問者應使用兩個查詢參數發送到'_hcms/mem/jwt' :

  • 'jwt'、‘code‘、’id_token’或’access_token‘查詢參數,其雜湊一經解密,便會在電子郵件欄位中包含訪客的電子郵件地址。 
  • 'redirect_url'查詢參數,指定訪客應被引導的頁面。 此URL應與傳送至「遠端登入URL」的要求中的「redirect_url」查詢參數值相同。

常見JWT錯誤疑難排解

如果您在為基於JWT的應用程式設定SSO時遇到問題,建議您使用JWT的偵錯工具驗證您的JSON Web權杖。 

驗證JWT後,您可以解決以下錯誤: 

  • NO_SETTINGS :入口網站和網域組合不會傳回任何JWT設定
  • COULD_NOT_PARSE_HEADER : JWT標頭必須存在並以base64編碼
  • WRONG_TYPE_IN_HEADER : JWT令牌標頭有一個字段“typ” ,它不等於“jwt”
  • ALGRATICM_MISSING_IN_HEADER : JWT令牌標頭沒有算法的“ALG”字段
  • NONE_ALGORITY_PROVIDED : "alg"字段等於"none" ,不安全且不受支持
  • TOKEN_VERIFICATION_FAILED :權杖可能為空、NULL、不正確或不支援查詢參數。 我們支援「jwt」、「code」、「id_token」和「access_token」查詢參數。
  • MISSING_EMAIL_IN_TOKEN :解碼的權杖缺少電子郵件欄位或為空
  • INVALID_KEY :缺少密鑰或密鑰無效
  • INVALID_KEY_LENGTH :密鑰長度與所選簽署演算法的要求不符
  • PRIVATE_KEY_PROVIDED :所選簽署演算法需要公開金鑰作為私密金鑰,但已提供私密金鑰
  • INVALID_LOGIN_URL :提供的遠端登入URL無效
  • JTI_CLAIM_INVALID :無法重播JWT檢查

您的內容需要SSO

有兩種要求SSO提供私人內容的選項:

  • 私人-需要單一登入(SSO) :身分提供者組織中擁有HubSpot應用程式存取權限的每個人都可以使用SSO登入以檢視私人內容。
  • 私人-清單篩選需要單一登入(SSO) :身分識別提供者組織中擁有特定HubSpot清單成員資格的個人可以使用SSO登入以檢視私人內容。 這些人必須在您的身分提供者帳戶(例如Okta或Google )中存取HubSpot應用程式,但不需要是您HubSpot帳戶中的使用者。

博客需要SSO

你可以要求在身份提供者帳戶中連結的子網域上託管的網誌採用SSO。 為特定網誌開啟SSO將影響該網誌上發佈的所有網誌文章。 特定博客文章不可能需要SSO。

請注意:如果你需要為已登記成員的私人內容代管部落格使用SSO ,這些聯絡人將無法再存取該部落格。

若要為網誌設定SSO ,請按照以下步驟操作:

  • 在左側邊欄選單中,前往「內容」>「網誌」。
  • 在左上角,按一下選取要修改的網誌下拉式選單,然後選取透過身分識別提供者設定的子網域上託管的網誌。
  • 在「控制受眾存取權限」部分,設定SSO :
    • 選擇專用-需要單一登入(SSO) ,才能授予身分識別提供者組織中具有HubSpot應用程式存取權限的所有人存取權限。
    • 選擇私密-需要使用清單篩選進行單一登入,以授予您身分識別提供者帳戶中具有HubSpot應用程式和特定清單成員資格存取權限的個人存取權限。 然後選擇您想要存取此內容的清單。
  • 按一下左下角的「儲存」。

登陸頁面或網站頁面需要SSO

你可以要求登陸頁面或託管在身份供應商帳戶連接的子網域上的網站頁面採用SSO。

請注意:如果你的登陸頁面或網站頁面已設置為會員註冊的私人內容,則這些聯絡人將無法再訪問該頁面。

若要為特定頁面設定SSO ,請按照以下步驟操作:
  • 前往你的內容:

    • 網站頁面:
    • 登陸頁面:
  • 勾選任何需要SSO的頁面旁的核取方塊。
  • 點擊表格頂部的「更多」下拉式選單,然後選擇「控制受眾存取權限」。
  • 在右側面板中,為所選頁面設定SSO ,然後按一下「儲存」:
    • 選擇私人-需要單一登入才能授予身分識別提供者組織中具有HubSpot應用程式存取權限的所有人存取權限。
    • 選擇私人-需要使用清單篩選進行單一登入,以授予您身分識別提供者帳戶中具有HubSpot應用程式和特定清單成員資格存取權限的個人存取權限。 然後選擇您想要存取此內容的特定清單。

特定知識庫文章需要SSO

你可以為身份提供者帳戶中連結的子網域上託管的特定知識庫文章設定SSO。

請注意:如果你需要針對已設為會員註冊私人內容的知識庫文章進行SSO ,這些聯絡人將無法再存取該文章。

若要為特定知識庫文章設定SSO ,請按照以下步驟操作:

  • 按一下「文章」索引標籤。
  • 勾選任何需要SSO的文章旁的核取方塊。
  • 按一下表格頂端的「控制受眾存取權限」。
  • 在右側面板中,為這些文章設定SSO ,然後按一下「儲存」:
    • 選取私人-需要單一登入,才能授予身分識別提供者組織中具有HubSpot應用程式存取權限的所有人存取權限。
    • 選擇私密-需要使用清單篩選進行單一登入,以授予您身分識別提供者帳戶中具有HubSpot應用程式和特定清單成員資格存取權限的個人存取權限。 然後選擇您想要存取此內容的特定清單。

你也可以在文章編輯器的「設定」分頁中控制特定文章的受眾存取權限。

所有知識庫文章都需要SSO

您也可以為所有知識庫文章設定SSO ,這些文章適用於您在身分提供者帳戶中連結的子網域上託管的特定知識庫。

  • 在左側邊欄選單中,前往「內容」>「知識庫」。
  • 如果你有多個知識庫,請點擊「目前檢視」部分的第一個下拉式選單,然後選擇一個知識庫。 這是帳戶中含有業務單位附加元件的第二個下拉式選單。 
  • 在「存取控制」部分,選取「需要單一登入(SSO)」。 
  • 按一下左下角的「儲存」。 

關閉私密內容的單一登入(SSO)

根據你選擇的設定,關閉私人內容的SSO會對你的內容產生不同的影響。

  • 設定為「私人」的內容:需要單一登入,即會變成公開內容。
  • 設為「專屬」的內容:清單篩選需要單一登入,將無法存取。

為了在關閉SSO時保持私人內容的私密性, HubSpot建議將私人內容的受眾存取權限變更為私密-需要使用清單篩選功能進行單一登入。 然後,你可以更改此內容的受眾存取權限,改為要求註冊CMS會員資格

若要關閉私密內容的SSO ,請按照以下步驟操作:

  • 在左側邊欄選單中,前往「內容」>「私人內容」。
  • 在設定頂端,按一下「選擇要編輯的網域」下拉式選單,然後選取網域。
  • 在單一登入(SSO)區段中,按一下管理SSO。
  • 在面板底部,按一下以關閉啟用SSO的開關。