El contenido de estos documentos no pretende constituir asesoramiento legal ni debe considerarse un sustituto de la asistencia legal. La responsabilidad final de comprender y cumplir con el GDPR recae en usted, aunque Auth0 le ayudará a cumplir los requisitos del GDPR siempre que sea posible.
Descripción general
consentGiven(true/false) indica si el usuario ha dado su consentimiento (true) o no (false)consentTimestamp(marca de tiempo Unix) indica cuándo el usuario dio su consentimiento
- una que muestra una casilla, funciona con conexiones de base de datos y usa la biblioteca auth0.js para crear el usuario (la usan las aplicaciones de página única). Para obtener más información, consulta la Referencia de Auth0.js v9.
- una que muestra una casilla, funciona con conexiones de base de datos y usa la Authentication API para crear el usuario (la usan las aplicaciones web tradicionales)
- una que muestra una casilla, funciona con conexiones sociales y usa la Management API para actualizar la información del usuario (la usan tanto las aplicaciones de página única como las aplicaciones web tradicionales)
- una que redirige a otra página donde se pueden revisar los Términos y condiciones y/o la información de la política de privacidad, y proporcionar la información de consentimiento (la usan tanto las aplicaciones de página única como las aplicaciones web tradicionales)
Opción 1: Usar auth0.js
-
Vaya a Auth0 Dashboard > Applications > Applications y cree una nueva aplicación. Elija
Single Web Page Applicationscomo tipo. Vaya a Settings y establezca Allowed Callback URLs enhttp://localhost:3000. Este campo contiene el conjunto de URL a las que Auth0 puede redirigir a los usuarios después de autenticarse. Nuestra aplicación de ejemplo se ejecutará enhttp://localhost:3000, por lo que establecemos este valor. - Copie los valores de ID de cliente y dominio. Los necesitará en breve.
- Vaya a Auth0 Dashboard > Authentication > Database y cree una nueva conexión. Haga clic en Create DB Connection, establezca un nombre para la nueva conexión y haga clic en Save. Vaya a la pestaña Applications de la conexión y asegúrese de que la aplicación que acaba de crear esté habilitada.
- Descargue el ejemplo de SPA de JavaScript.
- Establezca los valores de ID de cliente y dominio.
- Vaya a Auth0 Dashboard > Branding > Universal Login. En la pestaña Login, habilite el interruptor.
-
En el menú desplegable Default Templates, asegúrese de que esté seleccionada la opción
Custom Login Form. El código ya aparece rellenado. -
Establezca el valor de la variable
databaseConnectioncon el nombre de la conexión de base de datos que usa su aplicación. -
Para agregar un campo para los metadatos
consentGiven, añada una casilla de verificación al formulario. En este ejemplo, configuraremos la casilla para que esté marcada de forma predeterminada y deshabilitada, de modo que el usuario no pueda desmarcarla. Puede ajustar esto según las necesidades de su negocio. -
Edite la función de registro para establecer los metadatos. Tenga en cuenta que establecemos el valor de los metadatos como una cadena con el valor
true, y no como un valor booleano, y usamostoStringpara convertir el número en una cadena. Esto se debe a una restricción del endpoint Signup de la API de autenticación, que solo acepta cadenas como valores. - Para ver cómo se verá el widget de inicio de sesión, haga clic en la pestaña Preview.

- Para probar esta configuración, ejecute la aplicación y vaya a
http://localhost:3000. Cree un usuario nuevo. Luego vaya a Auth0 Dashboard > User Management > Users y busque ese usuario. Vaya a User Details y desplácese hacia abajo hasta la sección Metadata. En el área de texto user_metadata, debería verconsentGivenestablecido entrue.
Opción 2: Usar la API (base de datos)
consentTimestamp por la marca de tiempo correspondiente al momento en que el usuario otorgó su consentimiento.
Ten en cuenta que establecemos el valor de los metadatos como una cadena con el valor true y no como un valor booleano, debido a la restricción de la API, que acepta cadenas como valores, no booleanos.
Si necesitas establecer valores booleanos, puedes usar la . En este escenario, registras a tu usuario como de costumbre y luego llamas al endpoint Update User de Management API para establecer los metadatos necesarios después de que se haya creado el usuario. Para ver cómo hacerlo, sigue leyendo; el siguiente párrafo usa ese endpoint.
Si usas conexiones sociales, no puedes usar la Authentication API para crear al usuario en Auth0, ya que ese endpoint solo funciona con conexiones de base de datos.
Lo que debes hacer en su lugar es permitir que el usuario se registre con el proveedor social (lo que creará un registro de usuario en Auth0) y luego usar la Management API para actualizar la información del usuario.
Antes de llamar a la Management API, debes obtener un token válido. Para obtener más información, consulta Get Management API Access Tokens for Production.
El artículo enlazado usa el Client Credentials Flow para obtener un token, pero no puedes usarlo desde una aplicación que se ejecuta en el navegador. En su lugar, puedes usar el Implicit Flow. Para obtener más información sobre el Client Credentials Flow, consulta Client Credentials Flow. Para obtener más información sobre el Implicit Flow, consulta Implicit Flow.
Establece el parámetro de solicitud en https://YOUR_DOMAIN/api/v2/ y el parámetro scope en create:current_user_metadata. Puedes usar el que recibirás en la respuesta para llamar al endpoint Update User de la Management API.
Una vez que tengas un token válido, usa el siguiente fragmento para actualizar los metadatos del usuario.
Ten en cuenta que, para realizar esta llamada, necesitas conocer el user_id único. Puedes obtenerlo del claim sub del , si recibiste uno en la respuesta. Para obtener más información, consulta ID Tokens. Como alternativa, si lo único que tienes es el correo electrónico, puedes obtener el id llamando a otro endpoint de la Management API. Para obtener más información, consulta Prácticas recomendadas para la búsqueda de usuarios.
Opción 4: Redirigir a otra página
-
Agregue la regla de redirección. Vaya a Auth0 Dashboard > Auth Pipeline > Rules y haga clic en Create Rule. En Rules Templates, seleccione empty rule. Cambie el nombre predeterminado de la regla de
empty rulea algo descriptivo (por ejemplo,Redirect to consent form). -
Agregue el siguiente código JavaScript al editor de scripts y Save los cambios.
-
Vuelva a Auth0 Dashboard > Auth0 Pipeline > Rules y desplácese hasta la parte inferior de la página, donde se encuentra la sección Settings. Cree un par clave/valor de la siguiente manera:
- Key:
CONSENT_FORM_URL - Value:
your-consent-form-url.com
- Key:
Pruebe la configuración
- Ejecute la aplicación y vaya a
https://localhost:3000. - Registre un nuevo usuario. Se le redirigirá al formulario de consentimiento.
- Marque la casilla I agree y haga clic en Submit.
- Vaya a Auth0 Dashboard > User Management > Users y busque el usuario nuevo.
- Vaya a User Details y desplácese hacia abajo hasta la sección Metadata.
- En el área de texto user_metadata, debería ver que el metadato
consentGivenestá establecido entruey queconsentTimestampestá establecido en la marca de tiempo Unix del momento en que el usuario dio su consentimiento.