I have an Analytical App that uses an Input Data tool to run a database query. The Input Data tool uses a connection string which includes credentials. I want my end user to run the App on our Gallery, but I want them to enter their credentials which will then pass to the Input Data tool and be used to run the query.
I successfully built a sample App that collects the credentials using 2 Text Box tools (one for ID, one for password.) In the Text Box tool I'm using for the password, I have selected the check box for "Mask Text (for Passwords)". This works great! I can publish this to our Gallery and run it, entering credentials when prompted. So far so good.
HOWEVER, then I went digging in the MongoDB. In the AlteryxService database, collection AS_Queue, if I use the ServiceDataParse macro to unpack the ServiceData field... the password entered through the Text Box tool is stored in plain text in the WizardValues field.
THIS IS A PROBLEM. Please tell me I'm missing something! How can I pass credentials to an Input Tool and keep that password from being stored anywhere unencrypted?? Self-service analytics was one of our major selling points for getting Server, but I can't in good faith recommend my Designers publish workflows with their credentials included for others to run on demand if I have no way to validate those users' credentials against the data sources.
Appreciate your help!
Solved! Go to Solution.
Hey @MatthewO, I ran into the same issue as OP and I think DCM will work for us. To test, I'm looking at something almost exactly what you have in your screenshot above, but I am having some trouble determining what attribute the Update Action should be updating. Would it be possible for you to share how you have your Action Tool configured?
Disregard, I was able to get it to work as shown above. I was just running a older version of the workflow when I was initially testing. Oops!
When I ran the right workflow it worked as intended.
User | Count |
---|---|
6 | |
2 | |
1 | |
1 | |
1 |