---
schema_version: "1"
id: 44b1664a5ff37b0a94d9bbe1862469ecec5de4d14bb4cb47135d668d36c9465b
title: SamlSsoConfig
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_samlssoconfig.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_samlssoconfig.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 1f07829f03a829b8942ef35349489b51759b91d48f98a418676c98d9fe7a7318
description: Represents a SAML Single Sign-On configuration. This type extends the Metadata metadata type and inherits its fullName field. Single sign-on (SSO) is an authentication method that enables users to access multiple applications with one login and one set of credentials. For example, after users log in to your org, they can automatically access all apps from the App Launcher. You can set up your Salesforce org to trust a third-party identity provider to authenticate users. Or you can configure a third-party app to rely on your org for authentication.
---
# SamlSsoConfig

Represents a SAML Single Sign-On configuration. This type extends the Metadata metadata type and inherits its fullName field. Single sign-on (SSO) is an authentication method that enables users to access multiple applications with one login and one set of credentials. For example, after users log in to your org, they can automatically access all apps from the App Launcher. You can set up your Salesforce org to trust a third-party identity provider to authenticate users. Or you can configure a third-party app to rely on your org for authentication.

## File Suffix and Directory Location

SamlSsoConfig components have the suffix .samlssoconfig and are stored in the samlssoconfigs folder.

## Version

SamlSsoConfig components are available in API version 28.0 and later.

## Special Access Rules

As of Summer ’20 and later, only users with the View Setup and Configuration permission or both the Customize Application and Modify All Data permissions can access this type.

## Fields

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d830131e92">Field Name</th>

              <th class="featureTableHeader  " id="d830131e95">Field Type</th>

              <th class="featureTableHeader  " id="d830131e98">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">attributeNameIdFormat</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">For SAML 2.0, only and when <span class="keyword parmname">identityLocation</span> is set to
                <samp class="codeph nolang">Attribute</samp>. <span class="ph" id="saml_sso_name_id_format"><a name="saml_sso_name_id_format"><!-- --></a>Possible values include <samp class="codeph nolang">unspecified</samp>, <samp class="codeph nolang">emailAddress</samp>, or <samp class="codeph nolang">persistent</samp>. All legal values can be found in the “Name
                  Identifier Format Identifiers” section of the <a class="xref" href="http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf" target="_blank" title="Adobe Acrobat PDF (New Window)">Assertions and Protocols SAML 2.0
                    specification</a>.</span>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">attributeName</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">The name of the identity provider’s application. Get this name from your
                identity provider.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">decryptionCertificate</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">
                <span class="ph" id="decrypt_cert_desc"><a name="decrypt_cert_desc"><!-- --></a>The name of the certificate to use for decrypting
                  incoming SAML assertions. This certificate is saved in the organization’s
                  Certificate and Key Management list.</span> Available in API version 30.0 and
                later.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">errorUrl</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">When there's an error during login, specify the URL of the page where users are
                directed. It must be publicly accessible, such as a public site Visualforce page.
                The URL can be absolute or relative.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">executionUserId</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description"><span class="ph" id="execution_userid_desc"><a name="execution_userid_desc"><!-- --></a>The user that runs the Apex handler class. The
                  user must have the Manage Users permission. If you specify a SAML JIT handler
                  class, a user is required.</span></td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">identityLocation</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">SamlIdentityLocationType (enumeration of type string)</td>

              <td class="entry" headers="d830131e98" data-title="Description">The location in the assertion where a user is identified. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">SubjectNameId</samp> — The identity is in
                    the <samp class="codeph nolang">&lt;Subject&gt;</samp> statement of the
                    assertion.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Attribute</samp> — The identity is
                    specified in an <samp class="codeph nolang">&lt;AttributeValue&gt;</samp>,
                    located in the <samp class="codeph nolang">&lt;Attribute&gt;</samp> of the
                    assertion.
                  </li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">identityMapping</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">SamlIdentityType (enumeration of type string)</td>

              <td class="entry" headers="d830131e98" data-title="Description">The identifier the service provider uses for the user during <a class="xref" href="#saml_sso_user_provisioning">Just-in-Time user
                  provisioning</a>. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">Username</samp> — The user’s
                    Salesforce username.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">FederationId</samp> — The federation ID
                    from the user object; the identifier used by the service provider for the
                    user.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">UserId</samp> — The user ID from the
                    user’s Salesforce organization.
                  </li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">issuer</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">The identification string for the Identity Provider.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">loginUrl</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">For SAML 2.0 only: The URL where Salesforce sends a SAML request to start the
                login sequence.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">logoutUrl</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">For SAML 2.0 only: The URL to direct the user to when they click the Logout
                link. The default is <span class="ph filepath">https://salesforce.com</span>.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">name</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">The unique name used by the API and managed packages. The name must begin with
                a letter and use only alphanumeric characters and underscores. The name cannot end
                with an underscore or have two consecutive underscores.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">oauthTokenEndpoint</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">For SAML 2.0 only: The ACS URL used with enabling Salesforce as an identity
                provider in the web single sign-on OAuth assertion flow.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">redirectBinding</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">boolean</td>

              <td class="entry" headers="d830131e98" data-title="Description">Choose the binding mechanism your identity provider requests for your SAML
                messages. Values are:<ul class="ul bulletList">
                  <li class="li">
                    <span class="keyword parmname">HTTP POST</span> — HTTP POST binding sends SAML messages
                    using base64-encoded HTML forms.
                  </li>

                  <li class="li">
                    <span class="keyword parmname">HTTP Redirect</span> — HTTP Redirect binding sends
                    base64-encoded and URL-encoded SAML messages within URL parameters.
                  </li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">requestSignatureMethod</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description"><span class="ph" id="requestsignaturemethod_desc"><a name="requestsignaturemethod_desc"><!-- --></a>The method that’s used to sign the SAML
                  request. Valid values are <samp class="codeph nolang">RSA-SHA1</samp> and
                  <samp class="codeph nolang">RSA-SHA256</samp>.</span></td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">requestSigningCertId</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description"><span class="ph" id="requestSigningCertId_desc"><a name="requestSigningCertId_desc"><!-- --></a>The 18-digit ID for the certificate used to
                  generate the signature on a SAML request to the identity provider. The certificate
                  is saved in the Certificate and Key Management page in Setup.</span></td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">salesforceLoginUrl</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">The URL associated with login for the web single sign-on
                flow.<div class="box message info">
                  <div class="inner">
                    <div class="bd">
                      <div class="media">
                        <img class="img mtm" src="https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png" alt="Note">
                        <div class="mediaBd">
                          <h4 class="mbs">Note</h4>
                          <p>When encryption is
                            enabled, the URL has a parameter containing the ID of the SAML configuration,
                            <samp class="codeph apex_code">sc=<var class="keyword varname">samlSsoConfigId</var></samp>.
                            For example,
                            <span class="ph filepath">https://mycompany.my.salesforce.com?sc=0LEB0000000CCC</span>. This
                            change applies to API Version 47.0 and later.
                          </p>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">samlEntityId</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">The issuer in SAML requests generated by Salesforce, and is also the expected
                audience of any inbound SAML Responses. Salesforce recommends that you use your My
                Domain login URL.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">samlJitHandlerId</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description"><span class="ph" id="samljithandlerid_desc"><a name="samljithandlerid_desc"><!-- --></a>The name of an existing Apex class that
                  implements the <samp class="codeph nolang">Auth.SamlJitHandler</samp>
                  interface.</span></td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">samlVersion</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">SamlType (enumeration of type string)</td>

              <td class="entry" headers="d830131e98" data-title="Description">The SAML version in use. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">SAML1_1</samp> — SAML 1.1
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">SAML2_0</samp> — SAML 2.0
                  </li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname" id="singleLogoutBinding"><a name="singleLogoutBinding"><!-- --></a>singleLogoutBinding</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">SamlSpSLOBinding (enumeration of type string)</td>

              <td class="entry" headers="d830131e98" data-title="Description">The HTTP binding type. This value determines where to put the LogoutRequest or
                LogoutResponse in the SAML request during single logout (SLO). The value is base64
                encoded. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">RedirectBinding</samp> — Sent in the
                    query string, deflated.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">PostBinding</samp> — Sent in the POST
                    body, not deflated.
                  </li>

                </ul>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname" id="singleLogoutUrl"><a name="singleLogoutUrl"><!-- --></a>singleLogoutUrl</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">The SAML single logout endpoint. This URL is the endpoint where Salesforce
                sends LogoutRequests (when Salesforce initiates a logout), or LogoutResponses (when
                the identity provider initiates a logout).</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname" id="useConfigRequestMethod"><a name="useConfigRequestMethod"><!-- --></a>useConfigRequestMethod</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">boolean</td>

              <td class="entry" headers="d830131e98" data-title="Description">If <samp class="codeph nolang">true</samp>, applies the selected Request
                Signature Method (RSM) during single logout. If <samp class="codeph nolang">false</samp>, the default RSM (RSA-SHA1) is applied.</td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname" id="useSameDigestAlgoForSigning"><a name="useSameDigestAlgoForSigning"><!-- --></a>useSameDigestAlgoForSigning</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">boolean</td>

              <td class="entry" headers="d830131e98" data-title="Description">If <samp class="codeph nolang">true</samp>, uses a digest algorithm based on
                the selected Request Signature Method (RSM). For example, if the selected RSM is
                <samp class="codeph nolang">RSA-SHA256</samp>, the digest algorithm is set to
                <samp class="codeph nolang">SHA-256</samp>. <p class="p">If <samp class="codeph nolang">false</samp>, uses the default digest algorithm (<samp class="codeph nolang">SHA-1</samp>), regardless of the selected RSM.</p>
                <p class="p">This field is available
                  in API version 55.0 and later. You can edit this field only for legacy SAML
                  configurations created before Spring ’22. For configurations created after Spring
                  ’22, this field is <samp class="codeph nolang">true</samp> by
                  default.</p>
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname" id="saml_sso_user_provisioning"><a name="saml_sso_user_provisioning"><!-- --></a>userProvisioning</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">boolean</td>

              <td class="entry" headers="d830131e98" data-title="Description">If <samp class="codeph nolang">true</samp>, Just-in-Time user provisioning is
                enabled, which creates users the first time they log in. Specify <samp class="codeph nolang">Federation ID</samp> for the
                <span class="keyword parmname">identityMapping</span> value to use this feature.
              </td>

            </tr>

            <tr>
              <td class="entry" headers="d830131e92" data-title="Field Name"><span class="keyword parmname">validationCert</span></td>

              <td class="entry" headers="d830131e95" data-title="Field Type">string</td>

              <td class="entry" headers="d830131e98" data-title="Description">The certificate used to validate the request. Get this certificate from your
                identity provider.</td>

            </tr>

          </tbody>

        </table>

## Declarative Metadata Sample Definition

The following is an example of a SamlSsoConfig component. The validation certificate string has been truncated for readability.

<?xml version="1.0" encoding="UTF-8"?>
<SamlSsoConfig xmlns="http://soap.sforce.com/2006/04/metadata">
  <identityLocation\>SubjectNameId</identityLocation\>
  <identityMapping\>FederationId</identityMapping\>
  <issuer\>https://my-idp.my.salesforce.com</issuer\>
  <loginUrl\>
    https://my-idp.my.salesforce.com/idp/endpoint/HttpRedirect
  </loginUrl\>
  <logoutUrl\>https://www.salesforce.com</logoutUrl\>
  <name\>SomeCompany</name\>
  <oauthTokenEndpoint\>
    https://login.salesforce.com/services/oauth2/token?so=00DD0000000
  </oauthTokenEndpoint\>
  <redirectBinding\>true</redirectBinding\>
  <requestSignatureMethod\>RSA-SHA1</requestSignatureMethod\>
  <salesforceLoginUrl\>
    https://login.salesforce.com?so=00DD0000000JxeI
  </salesforceLoginUrl\>
  <samlEntityId\>
    https://saml.salesforce.com/customPath
  </samlEntityId\>
  <samlVersion\>SAML2\_0</samlVersion\>
  <useConfigRequestMethod\>true</useConfigRequestMethod\>
  <userProvisioning\>false</userProvisioning\>
  <validationCert\>
    MIIEojCCA4qgAwIBAgIOATtxsoBFAAAAAD4...
  </validationCert\>
</SamlSsoConfig\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm).