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.

4 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.

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