Sign up - email confirmation

Hi there,
Silly question, but is there a way to set up the sign up form so that the users confirm their emails with a link prior to getting into the app?
Thanks!

I think the “sign in with code” feature is essentially the same thing. A user enters an email address, receives a code in the email account, then copies and pastes the code into the sign-in form.

https://docs.softr.io/memberships/user-accounts-blocks/sign-in-with-code

Thanks! It’s not quite the same thing, but I guess it could do!

This is not at all the same thing but helpful nonetheless.

Requiring a validated email address for sign up should be a base feature option IMO.

5 Likes

Do you need to be on a price tier, to use this function?

Wish I had checked if this was feasible before creating my whole app!

This feels like a must-have feature.

Are there any good workarounds that people have found to this? I’m not sure I feel comfortable allowing public sign-up without a feature like this.

2 Likes

Hi, I had this very same issue and came up with a relatively good solution and would like to share with you all:

PREPARE YOUR BASE

  1. Make sure your Users data is connected to you base (let’s assume it is connected to a ‘Users’ table on your database).
  2. Edit your connection to make sure the magic links are mapped to a field on your database table
  3. Add a “Verified?” field to your Users table
  4. Create a custom user group called “Verified Users” checking for the “Verified?” field. Conversely, create a “Not verified users” group.

CREATE A SIGNUP FORM ON SOFTR

  1. Instead of using the original signup block on Softr (which causes the user to be created without the magic link), use a “Customizable Form” instead
  2. Map you form to pass the data to an automation tool (I used Zapier, but Make should work as well)
  3. I’m assuming you know how to create a Zapier webhook, etc.
  4. On Zapier, get the form data from the webhook and pass it to a “Create User in Soft” action.
  5. On this action step configuration, set option “Generate magic link” to true

SETUP A SELF VERIFICATION PAGE ON SOFTR

  1. Create a “Self verification” page on Softr and add a list-detail block having the Users table as source
  2. Setup the block’s visibility to be visible only to “Not verified users” group
  3. Configure a conditional filter for this block checking if the User’s email is the logged in user’s email (this will cause the block to display only the logeed in user’s details). You can configure which fields to show here for a better user experience. We display an avatar (which we require on the signup form), as well as name and email
  4. Go to Users - User groups and change the “Page after sign in/up” for “Not verified users” to this new self validation page
  5. Proceed with one of the two options below:

– option 1 - simpler, less safe (if users have the url of the verification page from someone else, they can login and self-verify without having access to the provided email address)
6. Add a “One-click update” action as a “Item details button” that will change the value of the “Verified?” field to 1.

– option 2 - more complex, safer (this is how we use it)
6. Add two additional fields to your Users table, “Verification code” (Text field) and “Verification answer”
7. In “Verification answer” we want a fixed random code. You can do this by script, maybe generate it with an outside tool, etc… I simply used this formula that generates a fairly random 5 characters code “UPPER(RIGHT(RECORD_ID(),3))&DATETIME_FORMAT(CREATED_TIME(),‘ss’)”
8. The “Verified?” field should be 1 when the code matches the answer or 0 when it doesnt… So I used this formula “{Verification answer}={Verification code}”
9. Back to Softr, add an “Edit record” action as a “Item details button”
10. Configure the action to have one single field displayed, namely the “Verification code”.

SEND THE MAGIC LINK TO NEW USERS

  1. Create a new automation that triggers when a record is added to the Users table. Again I used Zapier.
  2. Send an email to the new user asking them to verify their email by clicking on the following link, and pass their magic link
  3. If you choose option 2 above, you will also have to pass the verification code answer

This is it.

Hope it helps.

1 Like