Today's post (his first!) comes from my Customer Service & Support colleague Manuel Galindo.
Using Eclipse and Team Explorer Everywhere (TEE) to connect to Visual Studio Team Services (VSTS) from Windows is a common scenario but sometimes the normal installation does not work as expected. Sometimes the authentication is made in different ways - ADFS, Certificate SSO, Physical Credentials + PIN, etc. - and the login is not successful. Here are the 2 potential workarounds for this issue:
- Use OAuth Device Flow authentication
- Manually obtain a VSTS Personal Access Token (PAT) for the VSTS account and store it in Windows Credential Manager as the account’s credential
Enable OAuth Device Flow authentication
To use OAuth Device Flow, you should enable it in the JVM that runs Eclipse IDE.
1. Add the following line to the bottom of the eclipse.ini file, which is located under the user profile folder in Windows (for example: C:\Users\USERNAME\eclipse\java-neon\eclipse):
2. Restart Eclipse and then try to connect to VSTS again. When you try to login, you will see a dialog window like this:
3. Click the URL (https://aka.ms/devicelogin) and you will see a screen like the one below. Copy the code from Eclipse and and paste it into this dialog. Confirm the app, which should be Visual Studio Team Services, and then complete the login from the browser. After you do, back in Eclipse you should click OK on the code dialog and then you will be logged in to \ connected to VSTS!
Personal Access Token (PAT) in Windows Credential Manager
If you don't have PAT for your VSTS User ID yet, use a browser to connect to your VSTS account and create a PAT (see https://www.visualstudio.com/en-us/docs/setup-admin/team-services/use-personal-access-tokens-to-authenticate for details). If you're going to use the token with TEE, make sure you've created an All Scopes token. Copy the token into a text file, a OneNote, etc. so you can access it later (you won't be able to ever see it again inside VSTS).
2. Click "Add a generic credential":
3. Fill in the new Generic Credential as below with the following and then click OK to save it:
- VSTS account domain
- A user name. This can be anything really since we're using a PAT we don't need a specific name here
- Your password, which is the PAT you generated earlier (and saved to OneNote, right? <g>)
Restart Eclipse, which should automatically use the above configured PAT for authentication and connect you right up to VSTS.