Exporting user accounts when moving beyond Bubble

We are using Bubble for quickly creating an early version of a web app that we will later recreate in native code (React, Javascript stack).

We are planning to create first traction with our Bubble web app.
It’s crucial to us that all users signing up now will also be able to use their accounts (login + pw) on the future web app built in native code.

What’s the best way to setup user accounts in Bubble to make this possible?
I don’t want to ask users to signup again or change their passwords.

2 Likes

Maybe someone has done this that can give you a more informative answer, but my initial thought here is that you should take this with the Bubble team through their support channel. They’re usually very helpful in exporting data etc. User accounts do include some security and privacy concerns that might make exporting more tricky, you should probably dig into this before you start developing.

@jason3, out of curiosity, did you get anywhere with this? Any solution?

For me in the end this came down to:

  • you should be able to use the Bubble API (in combination with API workflow) to check users credentials for existing Bubble users in another app (something written in native code). So in this case you use Bubble as Authentification provider. There is no way to copy the old password to a new DB, so you should ask the user upon successful login to set a new password, which you will then store yourself (hashed, never in plaintext).

But starting out from scratch with no existing users I went for option 2:

  • Already capture the user data during sign-up and store it in a separate DB outside of Bubble. For this I created an API + Lambda function on AWS which takes the user login data in a POST request and then stores it in a DynamoDB (again passwords are only stored as hashes). Using developer authenticated identities the user is also signed up on Amazon Cognito, which makes it very simple to let users use any other service or app with the same credentials.

This approach is based on the solution described in the “AWS Lambda in Action” book:
https://www.amazon.com/AWS-Lambda-Action-Event-driven-applications/

You can check out the sample code on Github:

4 Likes

@jason3, thanks for taking the time to post this. Very helpful.

I am using the Node.js Dovehash function to do something very similar in webtask.io

Hash the password via the created API, then store the hash and salt in Dovecot format within Bubble.

Pass back to another API to check.

Are you only using DynamoDB to store your user data, or have you used it for other objects as well?

Can you only do this with new signups or also with existing users? (guess not right?)

This topic was automatically closed after 70 days. New replies are no longer allowed.