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.
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
- Make sure your Users data is connected to you base (letās assume it is connected to a āUsersā table on your database).
- Edit your connection to make sure the magic links are mapped to a field on your database table
- Add a āVerified?ā field to your Users table
- 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
- 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
- Map you form to pass the data to an automation tool (I used Zapier, but Make should work as well)
- Iām assuming you know how to create a Zapier webhook, etc.
- On Zapier, get the form data from the webhook and pass it to a āCreate User in Softā action.
- On this action step configuration, set option āGenerate magic linkā to true
SETUP A SELF VERIFICATION PAGE ON SOFTR
- Create a āSelf verificationā page on Softr and add a list-detail block having the Users table as source
- Setup the blockās visibility to be visible only to āNot verified usersā group
- 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
- Go to Users - User groups and change the āPage after sign in/upā for āNot verified usersā to this new self validation page
- 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
- Create a new automation that triggers when a record is added to the Users table. Again I used Zapier.
- Send an email to the new user asking them to verify their email by clicking on the following link, and pass their magic link
- If you choose option 2 above, you will also have to pass the verification code answer
This is it.
Hope it helps.