I have created a custom table in the database with the following fields: email, password, userRole, name, and userId. I want to build a two-page website:
The first page contains only a login button (no signup).
When the user enters their email and password, it should check this custom table in the database and match the credentials.
Upon successful login, it should return the userId and userRole associated with the entered email and password.
I understand that Bubble has a built-in User table that typically requires signup before login. However, I want to skip the signup process entirely and directly authenticate users based on the custom table I’ve created, without using the default User table.
Is it possible to achieve this in Bubble? If so, could you please guide me on how to implement it?
Just use the default User data type, populate all the values like email and user role, allow bubble to create the userID which they do automatically and is called unique ID…then when the user wants to login, have them create the password…then you can just use the User data type and avoid issues of privacy concerns of storing a password in the database.
Hi, Technically possible to create two public pages:
One with inputs: email password and one button “go to page” only when "search for [custom table] email = input email and password = input password :count is equal to 1
Go to page 2 and send data of the “search for [custom table] email = input email and password = input password :first item”
page 2 must be of datatype [custom table] and just show the data you need
(But they won’t be logged in, in a Bubble sense)
Should you do it? Nope.
Big security breach here.
Import your users to your database. And make them reset their password.
If this is what you want to do, you could import data into a temp DB, use a backend WF to create an account for someone else and set the password and other data from the backend WF. You will be able to use Bubble auth.
BUT… a better solution, if possible, is to use oauth2 or SSO if this is available from your actual provider.