Assigning a temporary username and password

Many of the users we service are not tech savvy and many if not most believe it or not don’t have email addresses, but they do all have cell phones. My workflow is for the admin to create a user by entering the first name, last name, and the phone number. Sort of like a whatsapp system Then I’ll send a message to the user with a link for them to log in with their phone number being their login name, and a temporary password. Once they are logged in they will be forced to change their password, then can add an email, emergency contact, etc. The system will not allow anyone to join the website that is not invited by an administrator.

How do I create a new user and assign a temporary password? I don’t see a user/password database.

Again, one of the primary needs is for my application to use phone numbers for usernames instead of emails.

You’ll have to do some work arounds to make users work without an email address, that’s just kinda core to Bubble’s setup. There are threads on it, so I’d give the forum a search on how to do that particular part.

There are workflow actions for “create an account for someone else” and “assign a temporary password,” so I’d use those for your use case. There will not be a way for you to see and modify their passwords in the database, however. That would break all sorts of security practices.

It won’t be easy, but it is possible.

Either …

a) dummy in an email address and make it unique with the user name. Have a lookup table with the email and username. There are issues around resetting passwords however.

b) Hack your own system together, by having an external hashing/salting function and just storing the salt and hashed values in Bubble. Doable but long winded.

c) Use an external authorisation ?

Sure there are others.

If you can ask people who their carrier is, you don’t have to make a dummy email account. You can use a real one. All phone providers have a corresponding domain associated with sending email texts. So for instance, if you have a Verizon account and your number is 555-555-1212 than someone can text you by sending email to 5555551212@vtext.com

If you look here https://20somethingfinance.com/how-to-send-text-messages-sms-via-email-for-free/ you can see all the domains for the providers. When someone signs up, you can ask for their provider from a dropdown and then lookup what the appropriate domain should be and register them as a user with their phone number email. this will allow you to email them (text actually) a link to changing their password etc. And once they log into the system, they can change their email to a real email if they want to.

If you don’t want to ask people who their carrier is, there are services that provide APIs to do it, some charge per call, like 6 tenths of a cent per lookup http://www.data24-7.com/carrier24-7.php and others charge a monthly fee, like this provider who allows 250 a month for free and than charges $10/ month for 5000 lookups https://numverify.com/product

Marc

2 Likes

Thanks @andrewgassen @mguerrasio and @NigelG - these were wonderful suggestions! Very helpful.

1 Like