Vas a construir: Una página de registro, una página de inicio de sesión con la opción de enlace mágico y una página de miembros que solo pueden abrir los visitantes con sesión iniciada, con un rol para los miembros pr
Lee primero: Construye una landing pagePágina interactiva con flujos de trabajo
En este tutorial le das a tu sitio sus propios miembros. Los visitantes crean una cuenta, inician sesión con una contraseña o con un enlace de acceso y llegan a una página cerrada para todos los demás. También agregas un rol y muestras contenido extra a los visitantes que lo tienen. Necesitas un sitio con una página de inicio; las cuentas de visitantes viven en la propia base de datos del sitio.
Agrega las páginas
Crea tres páginas
Abre la pestaña Pages en la barra lateral izquierda y presiona + (Add page) tres veces. Llama a las páginas
Sign up,Log inyMembers.Define sus rutas
Abre cada página, haz clic en un espacio vacío del lienzo para que no haya nada seleccionado y define Path en los ajustes de la página:
/signup,/loginy/members.
Construye el formulario de registro
Inserta un formulario
En la página Sign up, presiona + en la pestaña Layers y elige Form. Viene con un input Email, un área de texto para el mensaje, un botón Send y dos frames de estado.
Desactiva los envíos integrados
Selecciona el formulario y pon Action en Do nothing en la sección Form. Tu flujo de trabajo se encarga del envío en lugar de la bandeja de Forms.
Da forma a los campos
Elimina el área de texto del mensaje. Inserta dos elementos Input en el formulario: uno con Name
namey LabelTu nombre, y otro con Namepassword, LabelContraseñay Type Password. Selecciona el botón y cambia su Text aCrear cuenta.Conecta los campos a variables
Selecciona cada input y presiona + (Create variable) junto a Value en la sección Field. El input y la nueva variable de página se mantienen sincronizados, así que los valores del formulario quedan listos como
vars.email,vars.passwordyvars.name.
Registra al visitante
Agrega un flujo de trabajo de envío
Selecciona el formulario, abre Events en el inspector, deja Submit seleccionado y presiona Add workflow. El espacio de trabajo Logic se abre en el nuevo flujo de trabajo.
Crea la cuenta
Presiona Add step y elige Sign up visitor en Visitor auth. Para Email, presiona el botón ƒ (Use an expression) y escribe
vars.email. Haz lo mismo para Password convars.passwordy para Name convars.name.Ve a la página de miembros
Presiona Add step, elige Go to page y elige Members como Destination. El paso solo se ejecuta cuando el registro funcionó.
Muestra qué salió mal
En On error, presiona Add error handler, luego Add error step y elige Show toast. Pon Message en la expresión
error.messagey Variant en Error. Ahora un visitante que usa un email que ya tiene cuenta ve el motivo.
Construye la página de inicio de sesión
Copia el formulario
Copia el formulario de registro con ⌘C, abre la página Log in y pégalo con ⌘V. Elimina el input del nombre y cambia el texto del botón a
Iniciar sesión. Conecta los inputs de email y contraseña a nuevas variables en esta página, como antes.Inicia la sesión del visitante
Agrega un flujo de trabajo Submit al formulario. Agrega Log in visitor con Email
vars.emaily Passwordvars.password, y luego Go to page con Members. Agrega el mismo aviso de error en On error.Ofrece un enlace de acceso
Agrega un Button debajo del formulario con el texto
Envíame un enlace de accesoy pon su Type en Button, para que no envíe el formulario. En Events, agrega un flujo de trabajo Click con Send sign-in link (Emailvars.email) y un Show toast que digaRevisa tu bandeja de entrada.
Cierra la página de miembros
Restringe la página
Abre la página Members y haz clic en un espacio vacío del lienzo. En la sección Access, activa Restrict. La Rule empieza como
user.isLoggedIn, que es justo lo que quieres aquí.Lleva a los visitantes a la página de inicio de sesión
Pon Otherwise en la página Log in. Los visitantes que no han iniciado sesión se redirigen allí; sin una página de redirección reciben un 404.
Saluda al visitante
Agrega un elemento Text. En Typography, presiona el botón de llaves junto a Content (Bind Text) y escribe
'Welcome, ' + user.name.Agrega un botón para cerrar sesión
Agrega un Button con el texto
Cerrar sesión. Dale un flujo de trabajo Click con Log out visitor y luego Go to page con tu página de inicio.
La sección Access de la página Members muestra Restrict activado, la regla user.isLoggedIn y la página Log in como redirección.
Agrega un rol premium
Crea el rol
Abre el espacio de trabajo Tables desde la parte inferior de la barra lateral izquierda y elige Visitors. Escribe
premiumen New role y presiona Add role. Los nombres de rol usan letras minúsculas, dígitos,_y-.Muestra contenido solo a los miembros premium
En la página Members, agrega un frame con un mensaje premium corto. En Visibility, enlaza Show when a
user.roles.includes('premium').Aplica los cambios de rol sin recargar
Agrega un Button con el texto
Actualizar mi accesoy un flujo de trabajo Click con Refresh user. Vuelve a cargaruserdesde el servidor, así que un rol que asignas mientras el visitante está en la página aparece de inmediato.
Publica y prueba
Publica en staging
Presiona Publish en la barra de herramientas, deja Staging seleccionado y confirma.
Prueba la página cerrada
Abre
/membersen la dirección de staging. Llegas a la página de inicio de sesión, porque no has iniciado sesión.Regístrate
Abre
/signup, crea una cuenta y comprueba que la página de miembros te salude por tu nombre. Presiona Cerrar sesión e inicia sesión otra vez en/login.Hazte premium
De vuelta en el editor, abre Tables → Visitors. Tu cuenta está en la lista. Haz clic en ella, marca premium en el panel lateral y luego presiona Actualizar mi acceso en la página de staging. Aparece el mensaje premium.
Los visitantes pueden registrarse, iniciar sesión con una contraseña o un enlace, y abrir la página de miembros. Los miembros premium ven su contenido extra.
Lo que aprendiste
- Los pasos de cuentas de visitantes registran a los visitantes, inician y cierran su sesión, envían enlaces de acceso y actualizan
user. - Una regla de acceso de página se ejecuta en el servidor en cada solicitud y redirige a los visitantes que no la cumplen.
usersiempre es un objeto; compruebauser.isLoggedInyuser.roles.includes(…).- Los roles se definen y se asignan en Tables → Visitors.
Sigue con los próximos tutoriales o lee las guías en las que se basa este: