Most actions with credentials are completely secured in Bubble - but this one can be an issue compromise depending on the context in which it is used. For example, some admin dashboards (that can be compromised with bad redirections) have buttons to define a temporary password for a specific user.
If you know that everything happening in the front-end can be seen by anyone, simply perform this action in the back-end side of your app. Letâs go step-by-step through this.
1 - Creating the API Workflow
Weâll go to the back-end section of the app, and create a new API Workflow that we will call âassign-temporary-passwordâ.
It will take a parameter:
user-email
of type âtextâ
Then, weâll simply reproduce the exact same behavior than what our initial workflow was doing.
2 - Modifying our initial workflow
Now, letâs go back to our previous workflow - the one on the page the issue was found on. Letâs delete all the actions inside of it, and make it just trigger our freshly created API workflow and fill in the associated parameter.
And⌠there we go! â
The security issue is now fixed and weâre all set đ
đ Here is the link to the demo app if youâd like to know how to implement it.
đ But thatâs not the safest way to work with passwords
As mentioned in Bubbleâs official documentation, the most secure way to work with passwords is to use the âReset Passwordâ action.
Important: This workflow action is meant to be used in a situation where an admin is resetting the password for a user - the admin can see the new password.
We do not recommend building this into an end-user-facing flow on a page because it is not a secure way to work with passwords.
If you can implement this logic, thatâs the best you can do. If you need to use the âAssign a temporary passwordâ in your flow for your specific use-case, you now know how to do it in a secure way.