-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Authentication problems #7
Comments
@jrsmith Hello, thanks for putting together this detailed write-up. We'll check into this and will follow back up with you soon. |
@jrsmith When convenient, could you please run |
@wbinns No problem:
|
@jrsmith Hey JR! Amazing writeup and thanks for your patience with this. I've looked into the issue and it looks like it has to do with how |
@jrsmith Hello, I just wanted to send you this note to let you know that we haven't forgotten about you and will continue to keep you posted with updates in regard to this issue. |
Good |
Hi, I've been struggling with trying to get 21 to do something more than connect to the market for a couple of days, and finally began to dig into it more during my free time after the July 4th holiday. I'd like to share with you what I found.
My payments and ping service containers were failing immediately after trying to run
21 sell start --all
. I attached to the containers and found the following error message:I looked through the
ping
source to see where it got its auth credentials, then checked the docker container's environment vars and checkedTWO1_PASSWORD
for accuracy.My password was roughly
pass$word@isok^#&too
, but the value stored inTWO1_PASSWORD
waspass@isok^#\u0026too
. I'm no stranger to python, so I assumed a unicode decode call was missing somewhere (though it looks like some kind of string interpolation might be happening too since $word is totally gone). I changed my password, started typing up this post, reauthed on the server, then tried to start the ping service again. Oddly, they still failed, and the env vars still had my old wrong password. I manually destroyed the containers and ran21 sell start --all
again, but it still had the wrong password. I uninstalled and reinstalled 21, still the same problem.I assumed at this point that there were some leftover config files in my home dir that weren't removed during reinstall, since I wasn't prompted to create a new wallet. I grepped that dir and found my old password in
.two1/services/21-compose.yaml
. This file must not get updated after first creation.(As an aside, this file is also world readable, which is probably bad.)
Updating this file directly solved my problem. I assume deleting the file altogether would have also worked.
So, to recap -
.two1/services/21-compose.yaml
at all, perhaps substituted into a temp copy of the file after the password has been reentered by the user and then rmed after the containers are up. At the very least, that file's permissions should be 600.I know that any docker user would also be able to pull the
TWO1_PASSWORD
var from an existing container, but they would need to be allowed access to the docker daemon to do that. It would be ideal if there was a way to pass this auth to the container in a way that wasn't so public, or maybe use an auth token that gets generated when the service is brought up and renewed periodically by the microservices while they're running. Just a thought.The text was updated successfully, but these errors were encountered: