User management for an application that uses Baserow as the database

Hello,

I want to develop an application by combining Baserow and AppSmith. The application requires that user can create an account, login and store some personal settings (language, contact information,…).

What is the best / recommanded approach for this?

  1. Users create a Baserow account through a form by using the users rest-api. This API also allows me to check if login information is correct. I only need to set up to table with the personal settings linked to a field of the type “collaborator”. The question here is how many users I can link to a database (I expect to application to have about 100 users).

  2. I create a new table “Users” where I store all the user information, including the login and password. In my AppSmith application, I encrypt the password before writing it to Baserow. My major concern with this approach is security since the password is stored in the “Users” table, even when it is encrypted.

  3. I use a third-party service that takes cares of the authentication, however I do not know a service that provides this for the moment. I know you can use Google / Facebook / Github / … signin, but this requires to the user to have an account on one of those platforms.

Any thoughts?

Hey @frederikdc,

I may be missing something but why do you need to store the credentials? If something else is doing the authentication I would leave that to handle it assuming it is something like Auth0.

Hey @joffcom ,

I prefer not to store the credentials. Thank you for mentioning Auth0, this looks exactly like the third-party service I need for my project. Users can create their account and login without the need for me to store any credentials. I suppose it is also possible for me to store their preferences as well.

1 Like

Sweet, yeah you could store preferences and even include metadata in Auth0 for the users to retrieve as part of the JWT payload.