Page MenuHomePhabricator

Allow http.basicauth to be specified at a host level
Closed, WontfixPublic

Description

Currently, HTTP basic with credentials are specified on a "global" level (at least, using arc set-config).

This means that it is not possible to set different auth credentials for different hosts (in the same way that different conduit tokens can be set for different hosts).

I'm happy to work on a fix for this, but am not sure what the best fix would be. I was thinking that prompting for basic auth credentials could be included in the arc install-certificate workflow.

Event Timeline

joshuaspence claimed this task.
joshuaspence raised the priority of this task from to Normal.
joshuaspence updated the task description. (Show Details)
joshuaspence added a project: Arcanist.
joshuaspence added a subscriber: epriestley.

You can use arc set-config --local to set credentials for a specific project. Not sure if this is a great fix for your use case or not.

Yeah this is what we do currently but its a hassle when dealing with multiple projects with the same credentials.

It feels like there should be a better solution.

I'm assuming it can't be "don't use HTTP Basic auth"? :P

IMO, that'd be a better solution. But I think others will disagree internally.

If we made SSH conduit auth work (so arc didn't need to use HTTP anymore) would that be a fix for you? Or are you not running the SSH stuff? Obviously the way this works now isn't great, but I think HTTP Basic auth is super bad in general and I'm hesitant to encourage broader use of it.

TBH, I didn't realise Conduit supported SSH... I will look into this a bit more first.

Oh, it doesn't yet -- see T550. But it's probably not that much more work than expanding our ability to store HTTP Basic credentials, and way better from a security, usability, and performance point of view.

SSH would definitely be a better solution. Looking forward to T550.