Overall:
- My use case here is maybe a bit different in that im trying to design some functionality with retool for an external customer, rather than an internal support tool.
Goal:
-
We’re creating an admin dashboard (external facing) and my goal is to utilize some retool components within it (a great start for an MVP product). Right now, I have a table that displays data from either a dropdown, or a query box.
-
Right now the data source is set up to be the example db provided in postgres. But my goal is that a user that logs into the dashboard can be connected to their own postgres instance!
Possible Solutions:
-
User provides their credentials and presses connect. Then a connection string is created and a new data source is created for them.
-
Global admin panel injects connection string into state, and it is somehow passed into the retool application (not sure if retool state variables share a state with the application that imbeds them). Not ideal, as obviously I rather not store their password on our end when the database is originally created for them (and doesnt allow them to bring their own credentials to manage via the UI).
-
Create an authorized API that they can access with a bearer token passed in via the URL. Another solution that, like the above, is rather limited in nature and doesn’t allow them to provide their own credentials.
I’ve seen this article here.
But this seems for more on-prem work. However, it does seem that you can configure a data source with some sort of variables within it… which is a step in the right direction.