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 token de actualización de aplicación híbrida OAuth 2.0

          Flujo de token de actualización de aplicación híbrida OAuth 2.0

          Utilice el flujo de token de actualización de aplicación híbrida de OAuth 2.0 para proporcionar a aplicaciones híbridas gestión directa de sesiones web cuando caduca una sesión inicial. Cuando el servidor que autoriza otorga un nuevo token de acceso utilizando el tipo de concesión híbrida_actualización, incluye los Id. de sesión (SID) de los dominios solicitados en su respuesta. La aplicación híbrida puede establecer cookies de dominio de contenido, Lightning y Visualforce y utilizar frontdoor.jsp para acortar el token de acceso en una sesión web, proporcionando servicio ininterrumpido. El flujo de token de actualización de la aplicación híbridas renueva los tokens de acceso emitidos por el servidor web OAuth 2.0, usuario-agente y flujo de token de aplicación híbrida.

          Ediciones necesarias

          Disponible en: Salesforce Classic (no disponible en todas las organizaciones) y Lightning Experience
          Disponible en: Todas las ediciones
          Nota
          Nota Mobile SDK 9.1 admite flujos de aplicación híbridos de OAuth 2.0.

          Cuando una aplicación híbrida (a través de una aplicación cliente externa) recibe un token de acceso, puede utilizar un token de actualización para obtener una nueva sesión cuando caduca su sesión actual. El valor de tiempo de espera de sesión de la aplicación cliente externa determina cuándo un token de acceso ya no es válido y cuándo solicitar uno nuevo utilizando un token de actualización.

          Para una mejor seguridad, active la rotación de tokens de actualización en su aplicación cliente externa cuando configure sus parámetros de OAuth. Con este parámetro activado, la aplicación cliente externa emite un nuevo token de actualización junto con el token de acceso cada vez que se invoca el flujo. El token de actualización anterior se invalida automáticamente. La rotación del token de actualización garantiza que cada token de actualización se utilice solo una vez por usuario, de modo que los tokens de actualización no se pueden utilizar para obtener tokens de acceso nuevos. Si alguien intenta utilizar un token de actualización que se cerró, Salesforce invalida el token de actualización actual y cualquier token de acceso asociado. Para obtener un nuevo token de actualización, el cliente debe completar un nuevo flujo.

          Nota
          Nota Para el flujo de token de actualización de aplicación híbrida, la rotación de tokens de actualización solo se admite si emite tokens de acceso opacos. Si su aplicación cliente externa está configurada para emitir tokens de acceso basados en JWT, el flujo de token de actualización de aplicación híbrida devuelve un error de invalid_grant cuando intenta solicitar un token.

          El flujo del token de actualización de aplicación híbrida incluye estos pasos.

          Importante
          Importante Cuando desarrolle integraciones de OAuth, pase siempre información confidencial en el cuerpo de una solicitud POST o en un encabezado de solicitud. No utilice parámetros GET en la cadena de consulta URL para pasar información confidencial. La información confidencial incluye, entre otros, nombres de usuario, contraseñas, tokens de OAuth, secretos de clientes y cualquier información de identificación personal. Para obtener más información sobre mejores prácticas de seguridad, consulte Almacenamiento de datos confidenciales en la Guía de codificación segura.

          Solicitar un nuevo token de acceso

          La aplicación puede utilizar el token de actualización para obtener un nuevo token de acceso enviando una solicitud POST de token de actualización al extremo de tokens de Salesforce.

          La aplicación cliente externa puede enviar el client_id y el client_secret en el cuerpo de la solicitud POST del token de actualización, como se muestra aquí.

          POST /services/oauth2/token HTTP/1.1
          Host: login.salesforce.com/ 
          grant_type=hybrid_refresh&
          client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&
          client_secret=1955279925675241571&
          refresh_token=your token here
          

          En lugar de enviar credenciales de cliente como parámetros en el cuerpo de la solicitud POST de token de actualización, puede utilizar el esquema de autenticación básico de HTTP. El formato de este esquema requiere los client_id y client_secret en el encabezado de autorización de la publicación: Authorization: Basic64Encode(client_id:secret).

          client_id y client_secret se separan con un punto (:). Para obtener más información, consulte Marco de autorización OAuth 2.0.

          Este ejemplo muestra una solicitud POST de token de actualización de aplicación híbrida que utiliza el esquema de autenticación HTTP básica en lugar de enviar credenciales de cliente en el cuerpo de la solicitud POST.

          POST /services/oauth2/token HTTP/1.1
          Host: login.salesforce.com
          Authorization:  Basic 
          client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&
          client_secret=1955279925675241571
          grant_type=hybrid_refresh&
          refresh_token=your token here
          
          Nota
          Nota Si client_id y client_secret se envían en el cuerpo de POST, se ignora el encabezado de autorización.

          Con cualquier formato de solicitud POST de token de actualización, incluya estos parámetros.

          Parámetro Descripción
          client_id La clave de consumidor de la aplicación cliente externa. Para acceder a la clave de consumidor, desde el Gestor de aplicación cliente externa, busque la aplicación cliente externa y seleccione Modificar configuración desde el menú desplegable. A continuación amplíe la sección Configuración de OAuth y haga clic en Clave y secreto de consumidor. A veces se le solicita verificar su identidad antes de poder ver la clave de consumidor.
          client_secret El secreto de consumidor de la aplicación cliente externa. Para acceder al secreto de consumidor, desde el Gestor de aplicación cliente externa, busque la aplicación cliente externa y seleccione Modificar configuración desde el menú desplegable. A continuación amplíe la sección Configuración de OAuth y haga clic en Clave y secreto de consumidor. A veces se le solicita verificar su identidad antes de poder ver el secreto de consumidor.
          grant_type El tipo de concesión de OAuth 2.0 que solicita la aplicación cliente externa. El valor debe ser hybrid_refresh para este flujo.
          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. Este parámetro solo se devuelve si su aplicación cliente externa está configurada con un ámbito de refresh_token.
          client_assertion En vez de pasar client_secret, puede proporcionar client_assertion y client_assertion_type. Si no se proporciona un parámetro client_secret, Salesforce comprueba si hay client_assertion y client_assertion_type. Consulte Utilizar client_assertion en vez de client_secret.
          client_assertion_type

          Proporcione este valor cuando utilice el parámetro client_assertion.

          El valor client_assertion_type debe ser urn:ietf:params:oauth:client-assertion-type:jwt-bearer.

          format

          Si no se incluye en el encabezado de la solicitud, puede especificar el formato de devolución esperado. El parámetro format tiene preferencia sobre el encabezado de la solicitud. Se admiten estos formatos.

          • urlencoded
          • json (predeterminado)
          • xml

          Salesforce otorga un nuevo token de acceso

          Después de verificar la solicitud, Salesforce envía una respuesta con un nuevo token de acceso a la aplicación. A continuación se incluye un ejemplo de respuesta JSON procedente de Salesforce.

          { "id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
          "issued_at":"1278448384422",
          "instance_url":"https://yourInstance.salesforce.com/",
          "signature":"SSSbLO/gBhmmyNUvN18ODBDFYHzakxOMgqYtu+hDPsc=",
          "access_token":"00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNBaT1cyWk7TrqoDjoNIWQ2ME_sTZzBjfmOE6zMHq6y8PIW4eWze9JksNEkWUl.Cju7m4",
          "token_type":"Bearer",
          "scope":"web visualforce refresh_token lightning content",
          "cookie-clientSrc":"10.xxx.xx.xx",
          "sidCookieName":"sid",
          "cookie-sid_Client":"0000000...",
          "content_domain":"MyDomainName.file.force.com",
          "content_sid":"00Dxx0000006Gb…",
          "lightning_domain":"MyDomainName.lightning.force.com",
          "lightning_sid”:”00Dxx000000…",
          "csrf_token":"ABCD…",
          "visualforce_domain":"MyDomainName.vf.force.com",
          "visualforce_sid":"00Dxx000000…"}
          

          Y este es un ejemplo de respuesta XML.

          <Oauth>
             <access_token>00Dx0000000BV7z!AR8AQP0jITN80ESEsj5EbaZTFG0RNB...</access_token>
             <token_type>Bearer</token_type>
             <scope>web visualforce refresh_token lightning content</scope>
             <cookie-clientSrc>10.xxx.xx.xx</cookie-clientSrc>
             <sidCookieName>sid</sidCookieName>
             <cookie-sid_Client>0000000...</cookie-sid_Client>
             <content_domain>MyDomainName.file.force.com</content_domain>
             <content_sid>00Dxx0000006Gb…</content_sid>
             <lightning_domain>MyDomainName.lightning.force.com</lightning_domain>
             <lightning_sid>00Dxx000000…</lighning_sid>
             <csrf_token>ABCD…</csrf_token>
             <visualforce_domain>MyDomainName.vf.force.com</visualforce_domain>
             <visualforce_sid>00Dxx000000…</visualforce_sid>
          <instance_url>https://yourInstance.salesforce.com/</instance_url>
          <id>https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P</id>
             <issued_at>1278448101416</issued_at>
             <signature>CMJ4l+CCaPQiKjoOEwEig9H4wqhpuLSk4J2urAe+fVg=</signature>
          </Oauth>
          

          Este ejemplo muestra una respuesta codificada con URL.

          access_token=00Dx0000000BV7z%21AR8AQP0jITN80ESEsj5E...&
          token_type=Bearer&
          instance_url=https%3A%2F%2FyourInstance.salesforce.com&
          id=https://login.salesforce.com%2Fid%2F00Dx0000000BV7z%2F005x00000012Q9P&
          issued_at=1278448101416&
          signature=CMJ4l%2BCCaPQiKjoOEwEig9H4wqhpuLSk4J2...
          cookie-clientSrc=10.xxx.xx.xx&
          content_domain=MyDomainName.file.force.com&
          content_sid=00Dxx0000006Gb...&
          lightning_domain=MyDomainName.lightning.force.com&
          lightning_sid=00Dxx000000...&
          csrf_token=ABCD...&
          visualforce_domain=MyDomainName.vf.force.com&
          visualforce_sid=00Dxx000000...&
          scope=web+visualforce+refresh_token+lightning+content&
          sidCookieName=sid&
          cookie-sid_Client=0000000...&
          

          Los siguientes parámetros pueden incluirse en el cuerpo de la respuesta.

          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.
          token_type Un tipo de token Bearer, que se utiliza para todas las respuestas que influyen un token de acceso.
          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.
          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.
          content_domain

          El dominio de la sesión de contenido, que se asigna al SID de contenido: MyDomainName.file.force.com → content_sid.

          Recibirá este valor solo si asigna el ámbito content.

          content_sid

          El SID asociado con el dominio de la sesión de contenido. Salesforce devuelve un SID exclusivo que la aplicación híbrida establece directamente en la cookie de sesión del dominio.

          Recibirá este valor solo si asigna el ámbito content.

          lightning_domain

          El dominio de la sesión Lightning, que se asigna al SID de Lightning: MyDomainName.lightning.force.com → lightning_sid.

          Recibirá este valor solo si asigna el ámbito lightning.

          lightning_sid

          El SID asociado con el dominio de la sesión de Lightning. Salesforce devuelve un SID exclusivo que la aplicación híbrida establece directamente en la cookie de sesión del dominio.

          Recibirá este valor solo si asigna el ámbito lightning.

          visualforce_domain

          El dominio de la sesión de Visualforce, que se asigna al SID de Visualforce: MyDomainName.vf.force.com → visualforce_sid.

          Recibirá este valor solo si asigna el ámbito visualforce.

          visualforce_sid

          El SID asociado con el dominio de la sesión de Visualforce. Salesforce devuelve un SID exclusivo que la aplicación híbrida establece directamente en la cookie de sesión del dominio.

          Recibirá este valor solo si asigna el ámbito visualforce.

          csrf_token

          El token de falsificación de petición en sitios cruzados (CSRF) para prevenir ataques durante sesiones secundarias.

          Recibirá este valor solo si asigna el ámbito lightning.

          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.

          sidCookieName El nombre de la cookie de sesión que la aplicación híbrida utiliza para acortar directamente una sesión web. El valor predeterminado es sid.
          cookie-sid_Client Una cookie de sesión que detecta y evita manipulación de sesión. Esta cookie de sesión permite a la aplicación híbrida acortar directamente una sesión web.
          cookie-clientSrc Una cookie de sesión que se utiliza para protecciones de seguridad. Esta cookie de sesión permite a la aplicación híbrida acortar directamente una sesión web.
          parent_sid

          Un SID asociado con la sesión de la interfaz de usuario principal del usuario. parent_sid solo se incluye si su aplicación está activada para emitir tokens de acceso basados en JWT.

          La aplicación establece SID de dominio y acorta el acceso a una sesión web

          La aplicación híbrida establece los SID asociados del dominio en las cookies de sesión para acortar directamente una sesión web. Para obtener ejemplos de las cookies establecidas para cada dominio, consulte Gestión de cookies de flujo de aplicación híbrida OAuth 2.0.

          Para implementaciones que están reestableciendo la división de usuario en objetos para la configuración Restablecer a división predeterminada en Inicio de sesión, la aplicación híbrida debe acortar una sesión web utilizando frontdoor.jsp. Para obtener más información, consulte Uso de Frontdoor.jsp para acortar sesiones en Salesforce. Para obtener más información acerca de divisiones de usuario, consulte Organizar datos con divisiones.

           
          Cargando
          Salesforce Help | Article