Inicio de sesión desatendido sin nombre de usuario
Utilice la detección de usuarios desatendidos para desarrollar un flujo donde los usuarios inician sesión con cualquier identificador, como una dirección de email, un número de teléfono o un número de pedido, en vez de un nombre de usuario. Se admite el descubrimiento de usuarios desatendidos con el inicio de sesión, el inicio de sesión sin contraseña y los flujos de contraseña olvidada.
Ediciones necesarias
| Disponible en: Enterprise Edition, Unlimited Edition y Developer Edition |
Por ejemplo, tiene una aplicación de comercio electrónico desatendida que utiliza Identidad desatendida de Salesforce para la autenticación. Cuando un usuario realiza una compra, le envĆa un email con su nĆŗmero de pedido. Si un usuario desea comprobar el estado de su pedido, puede seguir un vĆnculo en el email para iniciar sesión en su aplicación con su nombre de usuario y contraseƱa. Pero sabe que la mayorĆa de los usuarios tienen demasiados nombres de usuario y contraseƱas para realizar un seguimiento entre todas las aplicaciones diferentes que utilizan. Desea facilitar a los usuarios el acceso a la información que desean de inmediato, con una fricción mĆnima. Desea desarrollar un proceso donde los usuarios inicien sesión con su nĆŗmero de pedido en su lugar.
O bien tiene una función en su aplicación desatendida donde los usuarios pueden gestionar casos y comunicarse con su equipo de asistencia. Para notificar a los usuarios sobre cambios en sus casos, les envĆa mensajes de email o SMS. En estas notificaciones, incluye un nĆŗmero de caso. Para que los usuarios puedan acceder a su información de caso de inmediato, desea proporcionar a los usuarios una forma de iniciar sesión con su nĆŗmero de caso.
Con el descubrimiento de usuarios desatendidos, existen algunas formas diferentes de entregar experiencias como estas. Los usuarios pueden iniciar sesión con el identificador, como un nĆŗmero de pedido o caso, y su contraseƱa. TambiĆ©n pueden iniciar sesión con un identificador y luego obtener una contraseƱa simultĆ”nea que se envĆa a su dirección de email o nĆŗmero de telĆ©fono, que luego utilizan para completar el inicio de sesión. Para entregar experiencias de identidad coherentes en su aplicación, puede desarrollar un flujo similar para el restablecimiento de contraseƱas.
Iniciar sesión con cualquier identificador y una contraseña
Puede entregar esta experiencia con dos flujos diferentes: el flujo Código de autorización y credenciales y el flujo de inicio de sesión de OAuth 2.0 para aplicaciones de primera parte.
Este es un desglose de un flujo Código de autorización y credenciales donde los usuarios inician sesión con su número de pedido.
- En su aplicación desatendida, un usuario ingresa su número de pedido y contraseña.
- Su aplicación envĆa una solicitud POST desatendida al extremo Salesforce /services/oauth2/authorize. Entre otros parĆ”metros, la solicitud incluye un parĆ”metro
login_hint. Este parÔmetro almacena el número de pedido del usuario. La solicitud también incluye un parÔmetrocustomdatacon mÔs información para identificar al usuario, incluyendo cookies de la última vez que el usuario inició sesión. - En el lado de Salesforce, un controlador de descubrimiento de inicio de sesión desatendido de Apex utiliza la información de los parÔmetros
login_hintycustomdatapara encontrar la dirección de email asociada con esta información. El controlador comprueba que la dirección de email del usuario estĆ” verificada. - Si el gestor encuentra un usuario y puede verificar las credenciales, Salesforce devuelve un código de autorización. Desde aquĆ, el flujo continĆŗa como un flujo de código de autorización y credenciales tĆpico, donde la aplicación intercambia el código por un token que otorga acceso a datos de Salesforce protegidos.
- Al final del flujo, el usuario inicia sesión y puede acceder al instante a sus datos de pedido. No se requieren nombres de usuario o navegación innecesaria.
Para el flujo de inicio de sesión de OAuth 2.0 para aplicaciones propias, la experiencia del usuario final es similar.
- En su aplicación desatendida, un usuario ingresa su número de pedido y contraseña.
- Su aplicación acuña un JWT de certificado de cliente.
- Su aplicación envĆa una solicitud POST desatendida al extremo Salesforce /services/oauth2/authorize. La solicitud incluye parĆ”metros
login_hintycustomdata. - Salesforce valida el JWT de la certificación de cliente.
- El controlador de descubrimiento de inicio de sesión desatendido Apex utiliza la información de los parÔmetros
login_hintycustomdatapara encontrar la dirección de email asociada con esta información. El controlador comprueba que la dirección de email del usuario estĆ” verificada. - Si el gestor encuentra un usuario y puede verificar las credenciales, Salesforce devuelve un código de autorización. Desde aquĆ, el flujo continĆŗa con su aplicación intercambiando el código por un token de acceso.
- Al final del flujo, el usuario inicia sesión y puede acceder al instante a sus datos de pedido.
Iniciar sesión con cualquier identificador y una contraseña simultÔnea (OTP)
QuizÔs desee hacer que esta experiencia sea aún mÔs sencilla para los usuarios ahorrÔndoles la molestia de recordar sus contraseñas. Puede entregar esta experiencia con el inicio de sesión sin contraseña desatendido. Utilice el flujo Inicio de sesión sin contraseña desatendido, que llama a la API de inicio de sesión sin contraseña desatendido. O bien, utilice el flujo de inicio de sesión sin contraseña de OAuth 2.0 para aplicaciones de primera parte.
Este es el funcionamiento del flujo cuando llama a la API de inicio de sesión sin contraseña desatendida.
- En su aplicación desatendida, un usuario ingresa su número de pedido.
- Su aplicación envĆa una solicitud POST desatendida al extremo Salesforce services/auth/headless/init/passwordless/login. Entre otros parĆ”metros, la solicitud incluye parĆ”metros
login_hintycustomdata. - En el lado de Salesforce, un controlador de descubrimiento de inicio de sesión desatendido de Apex utiliza la información de los parÔmetros
login_hintycustomdatapara encontrar el usuario asociado con esta información. El controlador comprueba que la dirección de email del usuario estÔ verificada. - Si el gestor encuentra un usuario, Salesforce devuelve un mensaje de operación correcta a su aplicación junto con un identificador de solicitud.
- Salesforce envĆa una contraseƱa simultĆ”nea (OTP) a la dirección de email del usuario.
- En su aplicación, el usuario ingresa la OTP.
- Desde aquĆ, el flujo continĆŗa iniciando el flujo Código de autorización y credenciales.
- Al final del flujo, se inicia la sesión del usuario y puede acceder a sus datos de pedido.
Este es un desglose del flujo utilizando el estƔndar borrador de OAuth 2.0 para aplicaciones de primera parte.
- En su aplicación desatendida, un usuario ingresa su número de pedido.
- Su aplicación envĆa una solicitud POST desatendida al extremo Salesforce services/auth/headless/init/passwordless/login. Entre otros parĆ”metros, la solicitud incluye parĆ”metros
login_hintycustomdata. - En el lado de Salesforce, un controlador de descubrimiento de inicio de sesión desatendido de Apex utiliza la información de los parÔmetros
login_hintycustomdatapara encontrar el usuario asociado con esta información. El controlador comprueba que la dirección de email del usuario estÔ verificada. - Si el gestor encuentra un usuario, Salesforce devuelve un mensaje de operación correcta a su aplicación junto con un identificador de solicitud.
- Salesforce envĆa una contraseƱa simultĆ”nea (OTP) a la dirección de email del usuario.
- En su aplicación, el usuario ingresa la OTP.
- Desde aquĆ, el flujo continĆŗa iniciando el flujo Código de autorización y credenciales.
- Al final del flujo, se inicia la sesión del usuario y puede acceder a sus datos de pedido.
Restablecer una contraseƱa olvidada con cualquier identificador
Cuando proporciona a los usuarios la capacidad de iniciar sesión sin un nombre de usuario, entregue la misma experiencia para el restablecimiento de contraseñas. Con el restablecimiento de contraseña sin nombre de usuario, puede aliviar la frustración de los usuarios dÔndoles una cosa menos que recordar.
- En su aplicación desatendida, un usuario hace clic en un botón de contraseña olvidada.
- Su aplicación muestra un formulario donde el usuario ingresa su número de pedido.
- Su aplicación envĆa una solicitud POST desatendida al extremo Salesforce /services/auth/headless/forgot_password. Entre otros parĆ”metros, la solicitud incluye parĆ”metros
login_hintycustomdata. - En el lado de Salesforce, un controlador de descubrimiento de inicio de sesión desatendido de Apex utiliza la información de los parÔmetros
login_hintycustomdatapara encontrar el usuario asociado con esta información. El controlador comprueba que la dirección de email del usuario estÔ verificada. - Si el gestor encuentra un usuario, Salesforce devuelve un mensaje de operación correcta a su aplicación.
- Salesforce envĆa una contraseƱa simultĆ”nea (OTP) a la dirección de email del usuario.
- En su aplicación, el usuario ingresa la OTP.
- Desde aquĆ, el flujo continĆŗa como un flujo de contraseƱa olvidada desatendida habitual. El usuario ingresa su nueva contraseƱa y Salesforce la comprueba con las polĆticas de contraseƱa de su organización.
- Al final del flujo, el usuario tiene una nueva contraseña y ahora puede iniciar sesión.
Configurar Descubrimiento de usuarios desatendidos
El descubrimiento de usuarios desatendidos se basa en un controlador de Apex que implementa la interfaz Auth.HeadlessUserDiscoveryHandler. Para simplificar la configuración, su implementación utiliza el mismo controlador para todos los flujos donde utiliza descubrimiento de usuarios desatendidos.
En primer lugar, desarrolle su controlador de Apex para incluir lógica personalizada para encontrar el usuario basĆ”ndose en la información en los parĆ”metros login_hint y customdata. Por seguridad, asegĆŗrese de que su controlador comprueba si la dirección de email o el nĆŗmero de telĆ©fono del usuario estĆ”n verificados. Para obtener mĆ”s información acerca del desarrollo de su controlador, consulte Auth.HeadlessUserDiscoveryHandler en la GuĆa de referencia Apex.
A continuación, agregue su controlador a su configuración de Experience Cloud. Para flujos de inicio de sesión sin contraseña desatendidos, el descubrimiento de usuarios desatendidos se activa cuando agrega el controlador. Para el flujo Código de autorización y credenciales, el flujo de inicio de sesión de OAuth 2.0 para aplicaciones de primera parte y los flujos de contraseña olvidada desatendida, active una configuración adicional para utilizar el controlador que agrega.
Para flujos que utilizan las API de identidad desatendida, consulte estos pasos.
- Configurar los parÔmetros de Experience Cloud para el inicio de sesión sin contraseña desatendido
- Configurar parƔmetros de Experience Cloud para activar el flujo ContraseƱa olvidada desatendida
Para flujos que utilizan el estƔndar OAuth 2.0 para aplicaciones de primera parte, consulte OAuth 2.0 para aplicaciones de primera parte: Configurar ajustes de Experience Cloud.
Finalmente, configure los flujos desatendidos. Cada flujo es diferente, pero todos los flujos incluyen una solicitud donde envĆa los parĆ”metros login_hint y customdata. El parĆ”metro customdata es opcional, pero si lo incluye con un flujo, utilĆcelo con todos los flujos porque todos utilizan el mismo controlador.
Para flujos que utilizan las API de identidad desatendida, consulte estos recursos.
- Inicie sesión con identificador y contraseña: Flujo Código de autorización y credenciales para clientes públicos o flujo Código de autorización y credenciales para clientes privados
- Inicie sesión con identificador y OTP: Flujo de inicio de sesión sin contraseña desatendido para clientes públicos o Flujo de inicio de sesión sin contraseña desatendido para clientes privados
- Restablecimiento de contraseƱa: Flujo de contraseƱa olvidada desatendida
Para flujos que utilizan el estƔndar OAuth 2.0 para aplicaciones de primera parte, consulte estos recursos.
- Inicie sesión con identificador y contraseña: OAuth 2.0 para aplicaciones de primera parte: Flujo de nombre de usuario-contraseña desatendido para clientes privados
- Inicie sesión con identificador y OTP: OAuth 2.0 para aplicaciones de primera parte: Inicio de sesión sin contraseña desatendido para clientes privados

