# Signup, Login, Password reset

The openBuild framework comes with a reusable that handles Sign up, Log in, Reset passwords and much more.

The resauble is used on the login page and reset\_pw page in the framework.

### Signup

Sign up with email workflows and UI for social logins.

<figure><img src="/files/3oXTiPYRdJ9N5gJG9OXV" alt=""><figcaption><p>Signup section</p></figcaption></figure>

Workflows connected to Signup section are in the 'Signup' folder.

<figure><img src="/files/7JZDQ6x3f59UplFuneRz" alt=""><figcaption></figcaption></figure>

By default, the new user has to accept the *Terms and Conditions* and *Privacy policy* to be able to signup. That's why we use the conditionals logic on the button and pre-built workflows for changing the state.

<figure><img src="/files/V8Aswm2blFgGlFsDv7wr" alt=""><figcaption><p>Only when the T&#x26;C is accepted, the workflow runs</p></figcaption></figure>

Signup workflow triggers a SIGN-UP custom event, that depending on your app settings will trigger a confirmation email sequence or not. Read about it in [this section](#enabling-email-validation-workflows).

<figure><img src="/files/6BXaQwDfpSwFz7wTeDvy" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/m8Adq0TxiAniaWtttRBU" alt=""><figcaption></figcaption></figure>

### Login

<figure><img src="/files/OhJ1vH39UeEAeswmuwtw" alt=""><figcaption><p>Login section</p></figcaption></figure>

Two main events connected to the login section are:

a) 'Log the user in' action - that gets triggered directly on the button click. It is placed there to enable the user to submit the login when hitting 'enter',

b) 'LOG IN' custom event - by default, only the redirect action is placed in this custom event, but this is the Workflow where additional actions should be placed. The same custom event is used for 3rd party signup/login.

<figure><img src="/files/eBKUuBA9CDqvegwwrby8" alt=""><figcaption><p>Actions run when btn.login is clicked </p></figcaption></figure>

<figure><img src="/files/Atuw00TGfIzsDWceCzKL" alt=""><figcaption><p>'LOG IN' Custom event</p></figcaption></figure>

### Forgot password

In the reusable, there is a dedicated section with workflows connected to password reset.&#x20;

<figure><img src="/files/qTpdSWhwearh71W2yhcT" alt=""><figcaption><p>Forgot password section</p></figcaption></figure>

When a user inputs their email we send it to a custom event called '📧 SEND RESET PASSWORD EMAIL'&#x20;

<figure><img src="/files/q1ydbkaNUJZyjyD6wDzv" alt=""><figcaption></figcaption></figure>

In the custom event there are 3 actions:

a) Send password reset email - native Bubble action to generate reset password token

b) Send Email - Reset Password Link - a standard email with information about how to reset your password and dedicated link&#x20;

c) Send Email - Activation Link - from the [admin panel](/core-concepts/pages/admin.md) you are able to send user invites to the new users. The email content of that invite is different than a standard Reset Password email. &#x20;

<figure><img src="/files/Qkvel9xkJCbAbSCkRoqs" alt=""><figcaption><p>📧 SEND RESET PASSWORD EMAIL</p></figcaption></figure>

Section visible after successful submission of the 'Forgot password?' form. &#x20;

<figure><img src="/files/dUfINEuloBYlDg3fHCLJ" alt=""><figcaption><p>Check your email section</p></figcaption></figure>

After clicking the link in the email user will be redirected to the Reset password section.

<figure><img src="/files/kmyGHJ23j8qfjW5vCrKJ" alt=""><figcaption><p>Reset password section</p></figcaption></figure>

### Password strength checker

<figure><img src="/files/UHFmcztEb7lf7nBOyI58" alt=""><figcaption><p>Want a password strength bar or checkbox details?</p></figcaption></figure>

In the framework, you will find two versions of the password strength checker i.e progress bar or displaying password details. Both of them work independently so you can choose one that matches your app, or you can keep using both.&#x20;

### Login with magic link

<figure><img src="/files/AIqEMSEradQz2ZlnM7bm" alt=""><figcaption><p>Login with magic link section</p></figcaption></figure>

Same as with the Reset Password workflows, there is a dedicated Custom event to handle the actions connected to sending the user magic link via email.&#x20;

<figure><img src="/files/BH0UOB24HuM4h7OY6Rag" alt=""><figcaption><p>Creating the magic link</p></figcaption></figure>

<figure><img src="/files/u56BrR0JcI53EkxYWBAa" alt=""><figcaption><p>Sending the link via email </p></figcaption></figure>

### Invalid password token

Currently, the reset password activation token is only active for 24 hours from the creation date. This time window is definitely restrictive so we handle invalid tokens via a better User Experience.&#x20;

In openBuild we take advantage of the error-handling feature that allows us to trigger an action whenever the User tries to use an expired token.

By default whenever a user requests a reset password token via the User Access Management reusable we create a link that contains his email in the URL. If you did send your user a reset password email without the email parameter, the pre-built workflow logic will also handle that user.

<figure><img src="/files/UCdjZBNyw2PFEG3eiTya" alt=""><figcaption><p>Catching the Invalid token error</p></figcaption></figure>

<figure><img src="/files/aLXk4YAnG9YIqy8m49DA" alt=""><figcaption><p>If the is not email parameter this section will be visible</p></figcaption></figure>

<figure><img src="/files/WMKi3HHWikcdetGgS43C" alt=""><figcaption><p>If the is an email in the URL parameter it will automatically send the a new reset password / activation email</p></figcaption></figure>

### Email validation workflows

openBuild template comes with pre-build validation workflows. To enable them set the verifyEmail attribute in 🔒 System option set to 'yes'.

<figure><img src="/files/J4nv8cgIjbiY8UYv5M1k" alt=""><figcaption></figcaption></figure>

If you enabled the email verification workflows, after the Signup we trigger CONFIRM-EMAIL custom event.

<figure><img src="/files/uo8ZGRdbPNCZccQvFvL8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/CSI0ZaCQINoZLAf19Uu4" alt=""><figcaption><p>Sending confirmation email</p></figcaption></figure>

<figure><img src="/files/m5OTiw5SCiHhYChNuoao" alt=""><figcaption><p>Redirecting to verify page</p></figcaption></figure>

In the verify page you find two sections.

<figure><img src="/files/6YnBnT2uW3Fj0mM5z0PJ" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Remember to correctly connect redirect workflows to your app pages.
{% endhint %}

Additionally in the [🔐 SECURITY REDIRECT](/framework-elements/security-redirect.md) you find a disabled workflow that needs enabling if you want to block access to the app for every user who does not have his/her email verified.&#x20;

<figure><img src="/files/bi9XQNMoALEDmDswy0bZ" alt=""><figcaption></figcaption></figure>

## User Access Management in a popup


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.openbuild.io/working-with-the-framework/signup-login-password-reset.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
