SAML 登入錯誤
如果使用者在使用單一登入 (SSO) 存取您的組織方面有問題,請使用登入歷程記錄以判斷是 SAML 判斷式錯誤還是組態問題。如果是判斷式相關問題,請使用 SAML 判斷式驗證程式來識別特定判斷式問題。與您的身分提供者合作以確定 SAML 判斷式和您的 SSO 組態皆有效。
必要版本
| 提供版本:Salesforce Classic 與 Lightning Experience |
「聯合驗證」適用於下列版本:所有版本 「委派驗證」適用於下列版本:Professional、Enterprise、Performance、Unlimited、Developer 及 Database.com Edition 「驗證提供者」可用於:Professional、Enterprise、Performance、Unlimited 及 Developer Edition |
| 需要的使用者權限 | |
|---|---|
| 檢視設定: | 「檢視設定和組態」權限 |
| 編輯設定: | 自訂應用程式 和 修改所有資料 |
登入歷程記錄
使用登入歷程記錄以判斷登入錯誤與 SAML 判斷式相關或是與您的 SSO 組態相關。
如果您在登入歷程記錄中看見這些錯誤,請使用 SAML 判斷式驗證程式來尋找判斷式中的特定錯誤。
- 邏輯判斷式已到期
- 判斷式上的時間戳記太舊。
- 邏輯判斷式無效
- 判斷式有錯誤,例如遺漏 <Subject> 元素。
- 開放限制無效
<Audience>中指定的值不符合您在 SSO 組態期間指定的 實體識別碼。
如果您在登入歷程記錄中看到下列任何錯誤,請檢查您的 SSO 設定是否有組態問題。進入「設定」,在「快速尋找」方塊中,輸入單一登入設定,然後選取「單一登入設定」。從您的身分提供者取得範例 SAML 判斷式,並且確認您在組態中有正確的資訊。如果您的組態正確,請透過 SAML 判斷式驗證程式執行範例判斷式。
- 組態錯誤/權限已停用
- Salesforce 中的 SAML 組態發生錯誤。例如,您上載的憑證損毀,或者您在組織的「單一登入設定」中停用 SAML。
- 核發者不相符
- 檢查您的組態中指定的核發者與判斷式中的核發者相符。
- 收件者不相符
- 檢查您的組態中指定的收件者與判斷式中的收件者相符。
- 偵測到重複執行
- 每個判斷式都有唯一的識別碼。這個錯誤表示 Salesforce 偵測到重複的判斷式識別碼。
- 簽署無效
- 您在組態期間上載的憑證無法驗證判斷式中的簽署。與您的身分提供者合作以確認您有正確的憑證。
- 主題確認錯誤
- 檢查您的組態中指定的 <Subject> 與判斷式中的 <Subject> 相符。
SAML 判斷式驗證程式
當您執行 SAML 判斷式驗證程式時,它會根據 Salesforce 的有效性需求檢查判斷式,並且告知您判斷式是否符合每個需求。Salesforce 會在判斷式上強制執行下列有效性需求,以它們在結果頁面上的顯示順序顯示在這裡:
- 狀態
- SAML 回應的狀態欄位必須表示成功。
- 驗證陳述式
- 身分提供者必須在判斷式中包含一個
<AuthenticationStatement>。 - 條件陳述式
- 某些判斷式使用
<Conditions>陳述式來限制判斷式有效的期間,稱為有效期間。如果判斷式包含具有時間戳記的<Conditions>陳述式,則時間戳記必須有效。 - 時間戳記
- 身分提供者會產生時間戳記以指出它何時傳送判斷式。Salesforce 必須在時間戳記的 5 分鐘 (正負 3 分鐘) 之內收到來自您身分提供者的判斷式。實際上,這個限制表示 Salesforce 可以在最多時間戳記 8 分鐘之後或是時間戳記 3 分鐘之前收到判斷式。如果判斷式指定較短的有效期間,驗證程式也會檢查這個需求。
NotBefore和NotOnOrAfter限制也必須定義且有效。 - 屬性
- 如果您將 Salesforce 組態設定為「身分位於屬性元素中」,則身分提供者的判斷式必須包含
<AttributeStatement>。 - 僅需要
<AttributeName>。 - 格式
<Issuer>陳述式的Format屬性必須設定為 "urn:oasis:names:tc:SAML:2.0:nameid-format:entity" 或完全不設定。例如:
<saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://www.salesforce.com</saml:Issuer>以下範例也有效:
<saml:Issuer >https://www.salesforce.com</saml:Issuer>- 核發者
- 判斷式中指定的核發者必須符合當您設定 Salesforce 時指定的核發者。
- 主題
- 判斷式的主題必須是 Salesforce 使用者名稱或使用者的聯合識別碼。
- 受眾
- 判斷式必須包含符合您在組態中指定的 實體識別碼的
<Audience>值。預設值為https://saml.salesforce.com。 - 收件者
- 判斷式必須包含收件者,其符合您在 Salesforce 組態或 OAuth 2.0 權杖端點中指定的 Salesforce 登入 URL。
- 簽署
- 判斷式必須包含有效的簽章。必須使用與您設定 SSO 時所上載的憑證相關的私人金鑰來建立簽章。我們建議您的身分提供者簽署回應內文與判斷式。SSO 期間,當 Salesforce 收到 SAML 回應時,會先在回應內文中尋找簽章。如果回應內文有有效的簽章,則判斷式會被視為具有有效的簽章。如果回應內文中的簽章遺失或無效,Salesforce 會在判斷式本身中尋找簽章。
- 網站 URL 屬性
- 有效值為:
- 未提供
- 已核取
- 網站 URL 無效
- 網站 URL 需要 HTTPS
- 指定的網站已停用或已超過頁面限制
- 入口網頁和組織識別碼
- 選擇性。若要使用 SAML 登入至入口網頁,則判斷式中的收件者和組織識別碼必須符合在您的 SSO 組態中指定的收件者和組織識別碼。
- 工作階段安全性層級
- 選擇性。工作階段安全性層級描述使用者工作階段的安全層級。如果您設定工作階段安全性設定,則判斷式中的工作階段安全性層級必須符合您的組態。
此文章是否解決您的問題?
請讓我們知道,以便我們改進!

