Loading
Identificar sus usuarios y gestionar el acceso
Índice de materias
Seleccionar filtros

          No hay resultados
          No hay resultados
          Estas son algunas sugerencias de búsqueda

          Compruebe la ortografía de sus palabras clave.
          Utilice términos de búsqueda más generales.
          Seleccione menos filtros para ampliar su búsqueda.

          Buscar en toda la Ayuda de Salesforce
          Flujo de agente de usuario OAuth 2.0 para la integración de escritorio o de aplicación móvil

          Flujo de agente de usuario OAuth 2.0 para la integración de escritorio o de aplicación móvil

          Con el flujo usuario-agente de OAuth 2.0, los usuarios autorizan a una aplicación de escritorio o móvil para acceder a datos empleando un navegador externo o integrado. Las aplicaciones que se ejecutan en un navegador utilizando un lenguaje de secuencias de comandos como JavaScript también utilizan este flujo. Este flujo utiliza un tipo de otorgamiento implícito de OAuth 2.0.

          Ediciones necesarias

          Disponible en: Salesforce Classic y Lightning Experience
          Disponible en: todas las ediciones
          Importante
          Importante Para tener mayor seguridad, recomendamos utilizar el flujo de servidor web de OAuth 2.0 con Clave de prueba para intercambio de código (PKCE) en lugar del flujo usuario-agente. También hemos hecho posible bloquear aplicaciones cliente externas que utilizan el flujo usuario-agente. Muchas aplicaciones móviles, incluyendo aplicaciones móviles Salesforce, utilizan el flujo usuario-agente y el bloqueo del flujo usuario-agente interrumpirá esas aplicaciones. Para ver los pasos para utilizar el flujo de servidor web, consulte Flujo de servidor web de OAuth 2.0 para la integración de aplicaciones web. Para los pasos para bloquear el flujo usuario-agente, consulte Bloquear flujos de autorización para mejorar la seguridad.

          Con el flujo usuario-agente, la aplicación cliente externa, que integra la aplicación cliente con la API de Salesforce, recibe el token de acceso como un redireccionamiento HTTP. La aplicación cliente externa solicita que el servidor de autorización redirija al usuario-agente a un servidor web o a un recurso local accesible. El servidor web puede extraer el token de acceso de la respuesta y pasarlo a la aplicación cliente externa. Por motivos de seguridad, la respuesta del token se proporciona como un fragmento de etiqueta almohadilla (#) en la URL. Este formato evita que el token se transmita al servidor o cualquier otro servidor en encabezados de referencia.

          Advertencia
          Advertencia Como el token de acceso se codifica en la URL de redireccionamiento, puede estar expuesto al usuario y a otras aplicaciones en el dispositivo.

          Si está utilizando JavaScript para autenticar, llame a window.location.replace(); para eliminar la devolución de llamada del historial del navegador.

          Nota
          Nota Las aplicaciones cliente externas para estos tipos de clientes pueden proteger secretos por usuario. No obstante, el secreto de cliente es accesible y explotable porque los ejecutables del cliente residen en el dispositivo del usuario. Por este motivo, el flujo usuario-agente no utiliza el secreto de cliente. La autorización se basa en la política de origen común de usuario-agente. Del mismo modo, el flujo usuario-agente no admite publicaciones fuera de banda.

          Por ejemplo, si utiliza el Salesforce Mobile SDK para construir una aplicación móvil que consulte información de contacto del cliente desde su organización de Salesforce. Mobile SDK implementa el flujo usuario-agente de OAuth 2.0 para su aplicación cliente externa, integrando la aplicación móvil con su API de Salesforce y otorgándole acceso autorizado a los datos definidos. El flujo sigue estos pasos.

          1. El usuario abre la aplicación móvil.
          2. La aplicación cliente externa dirige al usuario a Salesforce para autenticar y autorizar la aplicación móvil.
          3. El usuario aprueba el acceso para este flujo de autorización.
          4. La aplicación cliente externa recibe la devolución de llamada de Salesforce a la URL de redireccionamiento, que extrae los tokens de acceso y actualización.
          5. La aplicación cliente externa utiliza el token de acceso para acceder a datos en nombre del usuario.

          Redireccionamiento al extremo de autorización

          Para obtener la autorización de un usuario para acceder a datos de Salesforce, la aplicación cliente externa redirige al usuario al extremo de autorización. A continuación se incluye un redireccionamiento HTTP de ejemplo.

          https://login.salesforce.com/services/oauth2/authorize?response_type=token&
          client_id=3MVG9lKcPoNINVBIPJjdw1J9LLJbP_pqwoJYyuisjQhr_LLurNDv7AgQvDTZwCoZuDZrXcPCmBv4o.8ds.5iE&
          redirect_uri=https://www.customercontactinfo.com/user_callback.jspk&
          state=mystate

          Incluya estos parámetros en la URL.

          Parámetro Descripción
          Extremo de autorización de OAuth 2.0 El extremo de autorización de OAuth 2.0 de la instancia de Salesforce. Las aplicaciones cliente externas envían solicitudes de autorización de OAuth a este extremo.
          client_id La clave de consumidor de la aplicación cliente externa. Para acceder a la clave de consumidor, desde el Gestor de aplicaciones, busque la aplicación cliente externa y seleccione Ver desde el menú desplegable. A continuación haga clic en Gestionar detalles de consumidor. A veces se le solicita verificar su identidad antes de poder ver la clave de consumidor.
          redirect_uri La URL donde se redirige a los usuarios después de una autenticación satisfactoria. El URI de redireccionamiento debe coincidir con uno de los valores del campo URL de devolución de llamada de la aplicación cliente externa. De lo contrario, la aprobación falla. Puede encontrar el URI de redireccionamiento en la página Configuración de OAuth de la aplicación cliente externa. Este valor debe tener codificación de URL.
          response_type Utilice el valor token. También puede utilizar el valor token id_token, con el ámbito openid y un parámetro nonce. Si especifica token id_token, Salesforce devuelve un token de Id. en la respuesta. Para obtener más información, consulte Tokens y ámbitos de OAuth.

          Estos parámetros son opcionales.

          Parámetro Descripción
          scope

          Permisos que definen el tipo de recursos protegidos a los que puede acceder una aplicación cliente externa. Usted asigna ámbitos a una aplicación cliente externa cuando la crea, y se incluyen con los tokens de OAuth durante el flujo de autorización.

          Si no incluye este parámetro, se solicitan todos los ámbitos asignados a la aplicación cliente externa. Los ámbitos que se hayan pasado en este parámetro deben ser un subconjunto de los ámbitos registrados. Para consultar los parámetros válidos, vea Ámbitos de OAuth.

          state Cualquier estado que solicite el servicio web externo a la URL de devolución de llamadas. Este valor debe tener codificación de URL.
          display

          Cambia el tipo de visualización de las páginas de inicio de sesión y autorización. Salesforce admite estos valores:

          • page: Pantalla de autorización de página completa (predeterminado).
          • popup: Cuadro de diálogo compacto optimizado para cuadros emergentes de explorador web moderno.
          • touch: Cuadro de diálogo optimizado para aplicaciones móviles diseñado para dispositivos móviles modernos, como Android e iPhone.
          • mobile: Cuadro de diálogo optimizado para aplicaciones móviles diseñado para dispositivos menos modernos, como sistema operativo BlackBerry 5.
          login_hint

          Proporciona un valor de nombre de usuario válido para rellenar previamente la página de inicio de sesión con el nombre de usuario, como login_hint=username@company.com. Si un usuario ya tiene una sesión activa en el navegador y por lo tanto el parámetro login_hint no hace nada, la sesión de usuario activa continúa.

          Para pasar el parámetro login_hint para sitios de Experience Cloud, pase también el parámetro prompt=login. Juntos, estos parámetros redirigen al usuario a la página de inicio de sesión con la sugerencia de inicio de sesión correcta.

          nonce Utilícelo con el ámbito openid para solicitar un token de Id. de usuario. El token de Id. de usuario se devuelve en la respuesta. Este parámetro es opcional, pero ayuda a detectar ataques de repetición.
          prompt

          Especifica cómo el servidor de autorización solicita al usuario una reaprobación y reautenticación. Salesforce admite estos valores:

          • login: El servidor de autorización debe solicitar al usuario la reautenticación, forzando así el usuario a volver a iniciar sesión.
          • consent: El servidor de autorización debe solicitar al usuario una reaprobación antes de devolver información al cliente.
          • select_account: Si se presenta, utilice una para las siguientes acciones.
            • Si cero o una indicación está disponible y el usuario ha iniciado sesión, muestre la página de aprobación sin solicitar el inicio de sesión.
            • Si cero o una indicación está disponible y el usuario no ha iniciado sesión, solicite el inicio de sesión.
            • Si más de una indicación está disponible, muestre el selector de cuentas.

          Puede pasar los valores login y consent, separados por un espacio, para solicitar al usuario tanto iniciar sesión como volver a autenticarse. Por ejemplo: ?prompt=login%20consent

          prompt

          Especifica cómo el servidor de autorización solicita al usuario una reaprobación y reautenticación. Salesforce admite estos valores:

          • login: El servidor de autorización debe solicitar al usuario la reautenticación, forzando así el usuario a volver a iniciar sesión.
          • consent: El servidor de autorización debe solicitar al usuario una reaprobación antes de devolver información al cliente.
          • select_account: Si se presenta, utilice una para las siguientes acciones.
            • Si cero o una indicación está disponible y el usuario ha iniciado sesión, muestre la página de aprobación sin solicitar el inicio de sesión.
            • Si cero o una indicación está disponible y el usuario no ha iniciado sesión, solicite el inicio de sesión.
            • Si más de una indicación está disponible, muestre el selector de cuentas.

          Puede pasar los valores login y consent, separados por un espacio, para solicitar al usuario tanto iniciar sesión como volver a autenticarse. Por ejemplo: ?prompt=login%20consent

          sso_provider El nombre del desarrollador de un proveedor de identidad de inicio de sesión único (SSO) configurado con una URL de inicio de sesión de Mi dominio o una URL de sitio de Experience Cloud. Puede utilizar este parámetro para crear una experiencia de SSO que hace parecer que su aplicación está integrada con el proveedor de SSO. Por ejemplo, puede utilizar este parámetro para ofrecer SSO en una implementación de Identidad desatendida. Para obtener más información, consulte Crear una experiencia de inicio de sesión único nativa en su aplicación.

          El usuario autentica y autoriza el acceso

          El usuario inicia sesión en Salesforce con sus credenciales. El usuario interactúa con el extremo de autorización directamente, de modo que la aplicación nunca ve las credenciales del usuario.

          Página de inicio de sesión en organización de Salesforce

          Tras un inicio de sesión satisfactorio, Salesforce redirige a los usuarios a la página de aprobación para otorgar acceso a la aplicación.

          Salesforce otorga un token de acceso

          Después de que un usuario apruebe el acceso a una aplicación cliente externa, Salesforce redirige al usuario a la URL de devolución de llamada. En el redireccionamiento se incluye el token de acceso otorgado, que la aplicación cliente externa puede extraer y utilizar para acceder a datos en nombre del usuario.

          A continuación se incluye un ejemplo de la devolución de llamada del servidor. La respuesta está detrás de una etiqueta de almohadilla (#), en lugar de los parámetros de consulta de HTTP.

          https://www.customercontactinfo.com/user_callback.jsp#
          access_token=00Dx0000000BV7z%21AR8AQBM8J_xr9kLqmZIRyQxZgLcM4HVi41aGtW0qW3JCzf5xd
          TGGGSoVim8FfJkZEqxbjaFbberKGk8v8AnYrvChG4qJbQo8&
          refresh_token=5Aep8614iLM.Dq661ePDmPEgaAW9Oh_L3JKkDpB4xReb54_pZfVti1dPEk8aimw4Hr9ne7VXXVSIQ%3D%3D&
          instance_url=https://yourInstance.salesforce.com&
          id=https://login.salesforce.com%2Fid%2F00Dx0000000BV7z%2F005x00000012Q9P&
          issued_at=1278448101416&
          signature=miQQ1J4sdMPiduBsvyRYPCDozqhe43KRc1i9LmZHR70%3D&
          scope=id+api+refresh_token&
          token_type=Bearer&
          state=mystate

          La respuesta en el ejemplo contiene estos parámetros tras la etiqueta de almohadilla (#). La URL de devolución de llamada de la aplicación cliente externa precede a la etiqueta hash (#).

          Parámetro Descripción
          access_token Token de OAuth que una aplicación cliente externa utiliza para solicitar el acceso a un recurso protegido en nombre de la aplicación cliente. Pueden acompañar permisos adicionales en la forma de ámbitos al token de acceso.
          refresh_token

          Token obtenido del servidor web, usuario-agente o flujo de token de aplicación híbrida. Se trata de un valor secreto. Tome las medidas apropiadas para protegerlo.

          El token de actualización del flujo de usuario-agente solo se emite si solicitó scope=refresh_token y se cumple uno de estos escenarios:

          • La URL de redirección utiliza un protocolo personalizado.
          • El host de URL de redirección coincide con el host solicitado e incluye el servlet services/oauth2/success. Por ejemplo:
            • https://login.salesforce.com/services/oauth2/success
            • https://test.salesforce.com/services/oauth2/success
            • https://domain.my.salesforce.com/services/oauth2/success
            • https://site_url/services/oauth2/success
          • La URL de redireccionamiento es https://mobileauth.salesforce.com/oauth/done
          • La URL de redireccionamiento es https://mobileauth.salesforce.com/analytics/oauth/done
          instance_url Una URL que indica la instancia de la organización del usuario. Por ejemplo: https://yourInstance.salesforce.com/.
          id Una URL de identidad que se puede utilizar para identificar al usuario y para consultar con el fin de obtener más información acerca del usuario. Consulte URL de identidad.
          issued_at Marca de tiempo del momento de creación de la firma en milisegundos.
          signature Firma HMAC-SHA256 con codificación Base64 firmada con client_secret. La firma puede incluir el Id. concatenado y issued_at value, que puede utilizar para verificar que la URL de identidad no cambió desde que la envió el servidor.
          scope

          Los ámbitos asociados con el token de acceso.

          Los ámbitos definen más el tipo de recursos protegidos a los que el cliente puede acceder. Usted asigna ámbitos a una aplicación cliente externa cuando la crea, y se incluyen con los tokens de OAuth durante el flujo de autorización.

          Para consultar los parámetros válidos, vea Ámbitos de OAuth.

          token_type Un tipo de token Bearer, que se utiliza para todas las respuestas que influyen un token de acceso.
          state El estado solicitado por el cliente. Este valor solo se incluye si el parámetro state está incluido en la cadena de consulta original.

          La respuesta también puede contener estos parámetros.

          Parámetro Descripción
          id_token

          Una estructura de datos firmada que contiene atributos de usuario autenticados, incluyendo un identificador único para el usuario y una marca de tiempo que indica el momento en que se emite el token. También identifica la aplicación del cliente solicitante. Consulte Especificaciones de OpenID Connect.

          Este parámetro se devuelve si el parámetro scope incluye openid.

          sfdc_site_url Si el usuario es un miembro de un sitio de Experience Cloud, se proporciona la URL del sitio.
          sfdc_site_id Si el usuario es un miembro de un sitio de Experience Cloud, se proporciona el Id. de sitio del usuario.
           
          Cargando
          Salesforce Help | Article