process.env can be used to set the environment variables you need when using the stormpath api in your aws-hosted node application
Stormpath provides amazing abstraction when it comes to authentication. There are certainly other services like this, but when it comes to security, Stormpath is not only popular, but well respected. This comes as no surprise as they simply make authentication easy.
I have to say that their documentation is for the most part very good. If Node is your thing, they make it very easy to get up-and-running with their API. Their mailing list is also quite helpful. At least a once or twice per week, I receive emails that link to interesting articles on their blog.
Recently, I was trying to setup a Node.js/Express.js application, leveraging their express-stormpath Node module. I was thinking to myself: “…hmmmm. There must be a step where I have to configure my secret key or something like that”. After some quality time with Google, I came across this article, that suggested the following:
Unix/Linux/Mac:
1 2 3 |
export STORMPATH_CLIENT_APIKEY_ID=xxxx export STORMPATH_CLIENT_APIKEY_SECRET=xxxx export STORMPATH_APPLICATION_HREF=xxxx |
Windows:
1 2 3 |
set STORMPATH_CLIENT_APIKEY_ID=xxxx set STORMPATH_CLIENT_APIKEY_SECRET=xxxx set STORMPATH_APPLICATION_HREF=xxxx |
(where “xxx” is your actual key)
Well, that is fine for working locally, but I knew if I wanted to deploy this as an AWS Elastic Beanstalk application, I needed to actually set these values somewhere.
Using process.env
I set the three environment variables I needed to be properties of process.env:
I
1 2 3 |
process.env.STORMPATH_CLIENT_APIKEY_ID = XXXX; process.env.STORMPATH_CLIENT_APIKEY_SECRET = XXXX; process.env.STORMPATH_APPLICATION_HREF = XXXX; |
(where “XXX” is your actual key)
I took a look in the source code for the express-stormpath Node module and could see that it seemed to want to find these on process.env, so I think this approach should be fine. I’m still in the process of getting this Node.js/Express.js application up and running, but if you are faced with the same challenge, hopefully this helped you.