SourceTree + TFS Service + HTTPS: Login failed
Asked by B K:

Hi,

I'm trying to use SourceTree with MS TFS Service using HTTPS connection to repository. The problem is that when I'm trying to clone my repo - I get a login dialog, fill it in correctly - but it fails to login (it's my Live ID email and password). I'm sure my credentials are correct (I use the same credentials from Visual Studio Git plugin and it works fine there).

Tried to drag-n-drop existing local repo - it reads it all nicely, but when I push - I've got the same logon failure. Specifically, the full output looks like this:

----------------------

```
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:masterPushing to https://myrepo1.visualstudio.com/defaultcollection/_git/MyRepo1fatal: Authentication failed
```

------------------

Is there anything I'm missing? Is it a known problem?

Thank you,

Boris.


Answers:
author: stevestreeting
body: I set up a free TFS account to test this and can reproduce the problem. I can also reproduce it using the standard install of Git from <http://git-scm.com> - it appears that out of the box, TFS won't work with standard Git.

However you can make it work by allowing 'Alternative Authentication Credentials' in TFS.

1. Click on your username in the top-right and select 'My Profile'
2. Select the 'Credentials' tab
3. Click 'Enable Alternative Credentials'
4. Click 'Set' next to the secondary user name and pick a username without an '@' character
5. Set a password

4 and 5 seem to be optional, but I did it anyway. Once I did this, I could clone from TFS using either my full email as a user name or the alternative user name I'd created. It seems like the default TFS authentication is some kind of custom system that only works with the VS tools, and just enabling this alternative authentication makes it work with other systems (why isn't this the default, Microsoft?)

HTH

comments: author: B K
body: Works flawlessly. Thanks!


author: Justin Wagner
body: Thanks Steve! this worked for me.


author: Andrew Church
body: I have alternate credentials set up and am still seeing this same issue. Any thoughts?


author: Andrew Church
body: Looks like I needed to disable alternate credentials and then re-enabled to get it working. Odd.


author: Raja Y
body: Thanks Boss. I spent lot of time to solve this issue. Your solution worked for me. Thanks alot.


author: Horacio Golding
body: I had the same issue. Before implementing the proposed solution I upgraded SourceTree to version 1.8.2.0 just released. Because I already had a local Git repository with a TFS origin, after a while SourceTree asked me for my credentials to the TFS server. I entered my TFS user id and password. Now login to the TFS server works! (I am now able to push and pull to/from a TFS Git repository)


author: Developers ReallyGoodDomains
body: Alternative credentials are no longer available in TFS.

Search google for "Personal Access Tokens" and have a look in the Security link under your TFS account (Top right image of you, Security option is underneath profile)


author: sandra sandra
body: it works , thanks ;-)


author: stevestreeting
body: I've used a full email to log in to other services (Kiln for example) so in theory this should work, but I don't have a TFS instance to test with. The way this works is that Git calls our authentication callback when needed, which is what gives you the login prompt, and those details are passed to the command prompt, so it's hard to know what could be going wrong there - it works with countless other services.

What happens if you use the command line? SourceTree basically just calls git commands under the hood, but it would be interesting to know if TFS prompts differently somehow (although that's unlikely since it's Git providing the prompts).