Added environment variable expansion to source auth

In some cases it can be useful to put username/password in environment variables to avoid checking it into source control.

I wanted to add a test, but I'm not sure how to best test environment variables :weary: