Integrar un proveedor de servicio de SSO de SAML como una aplicación cliente externa
Para utilizar Salesforce como proveedor de identidad de inicio de sesión único (SSO) de SAML para un proveedor de servicio externo, integre su proveedor de servicio utilizando el marco de trabajo de aplicaciones cliente externas. Cree una aplicación cliente externa activada por SAML y especifique la información de configuración de su proveedor de servicio. Puede configurar una aplicación cliente externa activada por SAML solo a través de la API de metadatos. Las aplicaciones cliente externas con configuraciones SAML no se pueden empaquetar ni distribuir.
Ediciones necesarias
| Disponible en: Developer Edition, Performance Edition y Unlimited Edition |
| Permisos de usuario necesarios | |
|---|---|
| Para crear y modificar aplicaciones cliente externas: | Crear, modificar y eliminar aplicaciones cliente externas |
| Para modificar polĆticas de aplicación cliente externa: | Vea todas las aplicaciones cliente externas, vea su configuración y modifique sus polĆticas |
Antes de empezar, complete estos pasos.
- Active Salesforce como proveedor de identidad.
- Complete los requisitos previos para integrar proveedores de servicio con SAML.
- Active aplicaciones cliente externas en Configuración.
- Configure un proyecto Salesforce DX.
Una aplicación cliente externa activada por SAML consta de tres componentes de metadatos principales.
- Un componente ExternalClientApplication principal.
- Un componente ExtlClntAppConfigurablePolicies. Este componente es donde activa el complemento SAML para la aplicación.
- Un componente ExtlClntAppSamlConfigurablePolicies. Este componente contiene información de configuración de SAML. Dependiendo de su caso de uso, también puede incluir el subtipo ExtlClntAppSamlConfigurablePoliciesAttribute.
Puede utilizar cualquier método de implementación de metadatos que prefiera. Estos pasos le muestran cómo crear e implementar estos componentes utilizando Salesforce CLI.
Crear la aplicación cliente externa principal
Para completar este paso, consulte Crear una aplicación cliente externa local con API de metadatos.
Como no puede empaquetar una aplicación cliente externa con una configuración SAML, distributionState debe establecerse en Local. Este es un archivo <nombre de aplicación cliente externa>.eca-meta.xml de ejemplo.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalClientApplication xmlns="http://soap.sforce.com/2006/04/metadata">
<contactEmail>johndoe@example.com</contactEmail>
<description>SAML external client app to integrate third-party service provider</description>
<distributionState>Local</distributionState>
<isProtected>false</isProtected>
<label>mysamleca</label>
</ExternalClientApplication>Crear la configuración de polĆticas de aplicación cliente externa
- En el directorio <directorio de proyecto>/force-app/main/default/, cree un directorio denominado extlClntAppPolicies.
- En extlClntAppPolicies, cree un archivo denominado <nombre de polĆtica de ECA>.ecaPlcy-meta.xml.
-
Configure el archivo <ECA policy name>.ecaPlcy-meta.xml con estos campos.
Campo Descripción externalClientApplication El nombre de la aplicación cliente externa principal como se especifica en su campo etiqueta. isEnabled Define si la aplicación cliente externa puede utilizar complementos. Establezca este campo como true.isOauthPluginEnabled Define si la aplicación cliente externa puede utilizar el complemento de OAuth. Como el complemento isEnabled activa automĆ”ticamente todos los complementos y esta aplicación es solo para SAML, establezca este campo en false.isSamlPluginEnabled Determina si la aplicación cliente externa puede utilizar el complemento SAML. Establezca este campo como true.label El nombre de las polĆticas configurables. Este es un archivo <nombre de polĆtica de ECA>.ecaPlcy-meta.xml de ejemplo.<?xml version="1.0" encoding="UTF-8"?> <ExtlClntAppConfigurablePolicies xmlns="http://soap.sforce.com/2006/04/metadata"> <externalClientApplication>mysamleca</externalClientApplication> <isEnabled>true</isEnabled> <isSamlPluginEnabled>true</isSamlPluginEnabled> <isOauthPluginEnabled>false</isOauthPluginEnabled> <label>myecapolicy</label> </ExtlClntAppConfigurablePolicies>
Crear la configuración de polĆticas SAML de la aplicación cliente externa
- En su directorio <directorio de proyecto>/force-app/main/default/, cree un directorio denominado extlClntAppSamlConfigurablePolicies.
- En extlClntAppSamlConfigurablePolicies, cree un archivo denominado <nombre de polĆtica SAML de ECA>.ecaSamlPlcy-meta.xml.
-
Configure los campos para el archivo <nombre de polĆtica SAML de ECA>.ecaSamlPlcy-meta.xml.
Para obtener información detallada acerca de quĆ© campos incluir, consulte el tipo de metadatos ExtlClntAppSamlConfigurablePolicies en la GuĆa de referencia de API de metadatos.Este es un archivo <nombre de polĆtica SAML de ECA>.ecaSamlPlcy-meta.xml de ejemplo. Esta definición incluye atributos personalizados, que se especifican en los subtipos ExtlClntAppSamlConfigurablePoliciesAttribute.
<?xml version="1.0" encoding="UTF-8"?> <ExtlClntAppSamlConfigurablePolicies xmlns="http://soap.sforce.com/2006/04/metadata"> <acsUrl>https://www.<serviceprovideracsurl>.com</acsUrl> <entityUrl>https://www.<serviceproviderentityid>.com</entityUrl> <externalClientApplication>mysamleca</externalClientApplication> <issuer>https://mydomainname.my.salesforce.com</issuer> <label>myeca_samlpolicies</label> <nameIdFormat>Unspecified</nameIdFormat> <singleLogoutUrl>https://www.<serviceprovidersinglelogouturl>.com</singleLogoutUrl> <singleLogoutBindingType>RedirectBinding</singleLogoutBindingType> <subjectType>CustomAttribute</subjectType> <subjectCustomAttribute>MyCustomField</subjectCustomAttribute> <certificate>MIIDzDCCArQCCQCFaZKGsGqZ...</certificate> <encryptionCertificate>MIIDzDCCArQCCQCFaZKGsGqZ...</encryptionCertificate> <encryptionType>AES_128</encryptionType> <signingAlgorithmType>SHA1</signingAlgorithmType> <customAttributes> <key>User Firstname</key> <formula>$User.FirstName</formula> </customAttributes> <customAttributes> <key>User Country</key> <formula>$User.Country</formula> </customAttributes> </ExtlClntAppSamlConfigurablePolicies>
Crear el archivo Package.xml
Antes de implementar los componentes de metadatos, empaquƩtelos juntos en un archivo package.xml.
-
En su <directorio de proyecto>, cree un archivo denominado package.xml. No cree una subcarpeta para este archivo. Esta es la estructura del archivo.
-
Agregue referencias a los tipos de metadatos ExternalClientApplication, ExtlClntAppConfigurablePolicies y ExtlClntAppSamlConfigurablePolicies al archivo package.xml.
A continuación se incluye un ejemplo del archivo package.xml.
<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>*</members> <name>ExternalClientApplication</name> </types> <types> <members>*</members> <name>ExtlClntAppConfigurablePolicies</name> </types> <types> <members>*</members> <name>ExtlClntAppSamlConfigurablePolicies</name> </types> <version>63.0</version> </Package>
Implementar la aplicación cliente externa activada por SAML
EnvĆe los cambios desde su directorio de proyecto local a Salesforce.
- Abra una nueva ventana de Terminal.
- Vaya al <directorio de proyecto>.
-
Para implementar el archivo package.xml, ejecute este comando.
sf project deploy start --manifest package.xml -o <username@targetorg.com> -
Para verificar que los metadatos se implementaron correctamente, ejecute este comando.
sf project retrieve start --source-dir force-app -o <username@targetorg.com>Después de implementar la aplicación cliente externa, puede verla en el Gestor de aplicación cliente externa en Configuración. Pero no puede ver o modificar su información de configuración de SAML desde Configuración.
Para solucionar errores con la implementación y recuperación de metadatos, consulte Depurar errores al implementar o recuperar origen en la GuĆa de configuración Salesforce CLI.
Después de implementar la aplicación activada por SAML y verificar su información, complete su configuración de SSO con un paso final: Asignar usuarios de Salesforce al proveedor de servicio de SAML.
Modificar la aplicación cliente externa activada por SAML
Si es necesario, realice modificaciones en la configuración SAML de su aplicación cliente externa.
-
Actualice los archivos de componentes de metadatos correspondientes en su directorio <directorio de proyecto>/force-app/main/default/.
- Para actualizar información general sobre la aplicación cliente externa, como su descripción o email de contacto, modifique el archivo <nombre de aplicación cliente externa>.eca-meta.xml.
- Para actualizar las polĆticas de la aplicación cliente externa, como la etiqueta para el componente polĆticas, modifique el archivo <nombre de polĆtica de ECA>.ecaPlcy-meta.xml.
- Para actualizar la información de configuración de SAML, modifique el archivo <nombre de polĆtica SAML de ECA>.ecaSamlPlcy-meta.xml.
-
Para enviar los cambios a Salesforce, implemente el archivo package.xml de nuevo ejecutando este comando.
Complete este paso incluso si modifica solo uno de los componentes. No puede implementar un Ćŗnico componente.sf project deploy start --manifest package.xml -o <username@targetorg.com> -
Para verificar que los metadatos se implementaron correctamente, ejecute este comando.
sf project retrieve start --source-dir force-app -o <username@targetorg.com>

