Crear una aplicaciĆ³n de cliente externo
Crear un proyecto de SFDX
Con el entorno configurado, ya podemos crear la aplicaciĆ³n de cliente externo. Para ello, necesita un proyecto de SFDX.
- Cree una carpeta con el nombre
ECA Metadata
en el ordenador donde quiera crear la aplicaciĆ³n.
- Abra la carpeta en Visual Studio Code.
- Abra el terminal en Visual Studio Code en la carpeta que ha creado.
- Ejecute este comando en el terminal para crear un proyecto de Salesforce DX con el nombre
ecaViaMetadata
y la plantilla estƔndar.
Autorizar la organizaciĆ³n de Dev Hub
Conecte el proyecto de SFDX de su ordenador con el Dev Hub del Trailhead Playground mediante la aplicaciĆ³n conectada. Para este paso, necesita su dominio. Para encontrar su dominio en Setup (ConfiguraciĆ³n), introduzca My Domain
(Mi dominio) en el cuadro Quick Find (BĆŗsqueda rĆ”pida) y, a continuaciĆ³n, haga clic en My Domain (Mi dominio).
- Abra la carpeta "ECA Metadata" del proyecto de SFDX en Visual Studio Code.
- En el terminal de Visual Studio Code, ejecute este comando despuĆ©s de sustituir <my domain> por el dominio de su organizaciĆ³n.
- Inicie sesiĆ³n con las credenciales de su Trailhead Playground en la pĆ”gina web que se abre.
- Permita el acceso a la organizaciĆ³n.
Configurar el proyecto de SFDX para una aplicaciĆ³n de cliente externo
- Abra el archivo
sfdx-project.json
en Visual Studio Code.
- Cambie el parƔmetro sfdcLoginUrl a su dominio.
Para encontrar su dominio en Setup (ConfiguraciĆ³n), introduzca My Domain
(Mi dominio) en el cuadro Quick Find (BĆŗsqueda rĆ”pida) y, a continuaciĆ³n, haga clic en My Domain (Mi dominio).
- Expanda el directorio con el nombre config y abra el archivo de definiciĆ³n de la organizaciĆ³n borrador, que se llama project-scratch-def.json. Agregue
ExternalClientApps
yExtlClntAppSecretExposeCtl
al ajuste "features" (funciones).
-
Cree un archivo de manifiesto package.xml en el directorio del proyecto.
- Agregue el contenido al archivo package.xml.
- En el directorio force-app/main/default directory, cree una carpeta con el nombre
externalClientApps
.
- Agregue un archivo a la carpeta externalClientApps con el nombre
ecaViaMetadata.eca-meta.xml
. Este serĆ” el archivo de encabezado de la aplicaciĆ³n de cliente externo.
- Agregue el contenido al archivo de encabezado.
Llegados a este punto, la aplicaciĆ³n de cliente externo estĆ” tĆ©cnicamente lista. PodrĆa implementar esta configuraciĆ³n y aparecerĆa en el gestor de aplicaciones de cliente externo de su Playground como una aplicaciĆ³n de cliente externo bĆ”sica. Sin embargo, para que sea Ćŗtil, necesita un complemento. Vamos a configurar un complemento de OAuth similar al que creamos en el primer mĆ³dulo. Un complemento de OAuth configurado para el flujo de OAuth 2.0 Web Server necesita un par de modificaciones y un par de archivos nuevos.
Activar y configurar el complemento de OAuth
A diferencia de las aplicaciones conectadas, que combinan todas las configuraciones en un archivo, las aplicaciones de cliente externo incluye dos archivos de configuraciĆ³n y un archivo de polĆticas. El archivo Global OAuth Settings incluye campos confidenciales, como la clave de consumidor y el secreto de consumidor de OAuth, que deben protegerse. El archivo OAuth Settings incluye todas las configuraciones de menor confidencialidad de una aplicaciĆ³n de cliente externo. No hay necesidad de crear un archivo de polĆticas durante la configuraciĆ³n de una aplicaciĆ³n de cliente externo para el flujo del servidor web, ya que las polĆticas se configuran en base a los archivos de configuraciĆ³n. El archivo OAuth Policies se genera al implementar la aplicaciĆ³n de cliente externo.
Crear un archivo Global OAuth Settings
- En el directorio force-app/main/default directory, cree una carpeta con el nombre
extlClntAppGlobalOauthSets
.
- Agregue un archivo a la carpeta extlClntAppGlobalOauthSets con el nombre
ecaViaMetadataGlblOAuth.ecaGlblOauth-meta.xml
.
- Abra el archivo ecaViaMetadataGlblOAuth.ecaGlblOauth-meta.xml en VS Code y agregue el siguiente contenido.
- Guarde el archivo Global OAuth Settings.
Crear un archivo OAuth Settings
- En el directorio force-app/main/default directory, cree una carpeta con el nombre
extlClntAppOauthSettings
.
- Agregue un archivo a la carpeta extlClntAppOauthSettings con el nombre
ecaViaMetadataSettings.ecaOauth-meta.xml
.
- Abra el archivo ecaViaMetadataSettings.ecaOauth-meta.xml en VS Code y agregue el siguiente contenido.
- Guarde el archivo OAuth Settings.
Hacer referencia a los archivos de configuraciĆ³n (Settings) en el archivo de encabezado
Ahora que ha creado los dos archivos de configuraciĆ³n, debe incorporarlos a la aplicaciĆ³n de cliente externo. El archivo Header (Encabezado) es una lista de todos los archivos que componen la aplicaciĆ³n de cliente externo.
- Abra el archivo de manifiesto package.xml.
- Agregue una entrada para cada uno de los tres archivos de OAuth.
- Guarde el archivo de manifiesto package.xml.
Implementar su aplicaciĆ³n de cliente externo
Ahora que ha configurado correctamente la aplicaciĆ³n de cliente externo, puede implementarla. El archivo de polĆticas se crea durante la implementaciĆ³n, asĆ que, despuĆ©s, puede recuperar la aplicaciĆ³n de cliente externo para extraer el archivo generado en su proyecto de SFDX.
- Ejecute este comando para implementar la aplicaciĆ³n de cliente externo. Sustituya <username> por el nombre de usuario que utilizĆ³ para iniciar sesiĆ³n al autorizar el Dev Hub.
- Recupere la aplicaciĆ³n de cliente externo desde el Trailhead Playground. Sustituya <username> por el nombre de usuario que utilizĆ³ para iniciar sesiĆ³n al autorizar el Dev Hub.
Verificar la aplicaciĆ³n
DespuĆ©s de implementar y recuperar la aplicaciĆ³n de cliente externo, deberĆa haber un archivo de polĆticas en su proyecto de SFDX, donde antes no habĆa ninguno.
AdemĆ”s, puede abrir el gestor de aplicaciones de cliente externo para ver una nueva aplicaciĆ³n llamada ecaViaMetadata. Si se siente con ganas de aventura, puede incluso recopilar el valor de My Domain (Mi dominio) y la clave y el secreto de consumidor de OAuth, y conectarlo todo al Playground de OpenID Connect para hacer un recorrido por el flujo de OAuth Web Server.
Recursos
- Ayuda de Salesforce: Crear una aplicaciĆ³n de cliente externo con una API de metadatos
- Ayuda de Salesforce: Understanding Metadata API (Comprender la API de metadatos)
- Ayuda de Salesforce: Deploying and Retrieving Metadata (Implementar y recuperar datos)
- Ayuda de Salesforce: How Salesforce Developer Experience Changes the Way You Work (Por quƩ la experiencia de desarrolladores de Salesforce cambia su forma de trabajar)
- Trailhead: Aspectos bƔsicos sobre las API