Authenticating with TFS Connect and TFS Dashboard
In this blog post, I’ll discuss how to login to – TFS Connect and TFS Dashboard written for Windows Phone 8 and Windows 8 respectively. The instructions are the same for the both the apps. The apps can be downloaded from here. The TFS Dashboard app is also available in the Windows store.
When you run the TFS Dashboard app for the first time, a login page appears:
and similarly for the TFS Connect phone app:
Team Foundation Service authentication:
In order to authenticate with Team Foundation Service, you will need to enable and configure basic auth credentials for your user profile on tfs.visualstudio.com:
- Navigate to the account that you want to use on https://tfs.visualstudio.com. For example, you may have https://domain.visualstudio.com.
- In the top-right corner, click on your account name and then select My Profile
- Select the Credentials tab
- Click the 'Enable alternate credentials and set password' link
- Enter a password. It is suggested that you choose a unique password here (not associated with any other accounts)
- Click Save Changes
Next, run the sample app and on the Login page, for the Domain field, the domain is from domain.visualstudio.com, Username is from the Credentials tab under My Profile, and Password is the password that you just created. The Service Endpoint is https://tfsodata.visualstudio.com/DefaultCollection/ .
Using an on-premises Team Foundation Server:
You will need to first install and configure the OData Service for Team Foundation Server v2 to expose an OData endpoint for your Team Foundation Server instance.
For the Domain field, you would enter the workgroup or domain of your Team Foundation Server.
Username will be the username you use to login to Team Foundation Server
Password is the password you use to login to Team Foundation Server
Service Endpoint is the OData Service endpoint address that you have used to host the OData Service. For example something similar to:
https://<name of the server where OData service is hosted>:<portnumber>/<Defaultcollection or Name of Collection>/
You can also try to connect to the OData service via IE to test out your credentials.
In the above screenshot, the address in the web browser is my OData Service endpoint i.e. https://localhost:10042/FabrikamFiberCollection/ . My credentials are the TFS credentials, so Domain is ‘vsalm’, Username is ‘admin’ and Password is the password used to login into Team Foundation Server.
By default, the OData Service is setup in a manner that a HTTP endpoint will throw an error. For testing purposes you can change this by setting ‘Transport’ to ‘None’ in web.config of ODataTFS.Web project:
<security mode="None"></security>
If you are using a HTTPS endpoint make sure that the certificate is recognized as a valid certificate by the machine that is running the app. The certificate should be placed into the machine-wide Trusted Root Certification Authorities store. For information on configuring certificates on a machine, please go through the ReadMe document of the OData Service.
After successfully logging in, your apps should resemble the following screens.
Comments
Anonymous
March 03, 2013
Hi, Your application looks really Greta, I want to try it but when I put correct informations into login form, I receive an an error message : " Error posting data to server while signing in : (500) Infernal Server Error. Failed with Quercy : tfsodata.visualstudio.com/.../Projects(‘‘)/Queries/$count?$filtet=substringof(‘‘/My Queries/‘, Path) eq true " I think This Url is an error by itself Projects(‘‘) seams ont have to be hereAnonymous
March 16, 2013
@Maxime thanks for your feedback. We are looking into this. You may also follow up on this with us by writing to us at tfsodata at Microsoft dot comAnonymous
March 24, 2013
I'm getting the same error as Maxime - any plans for releasing a fix?Anonymous
March 31, 2013
Hi Nisha Singh, Thank you for this app. I was testing this app and worked for me, but now I need change the Service Endpoint and I can't find where could do this. I tried uninstall and install, but this app maintains last configuration. Do you help me?Anonymous
April 01, 2013
Thanks Mandrado for your feedback. I am working on a version where you can logout of the app.Anonymous
April 01, 2013
Hi Nisha Singh, Thank you for your attention. I did it!, after changing the owner of the folder "C:Program FilesWindowsApps" for my user. I changed folder name "43549NishaSingh.TFSDashboard_1.0.0.5_neutral__ff88pcg8pktse" to "43549NishaSingh.TFSDashboard_1.0.0.5_neutral__ff88pcg8pktse_old". then I did a new installation that has created a new folder. The app is working as new and now I can enter with the new address for OdataTFS. For other users who try this workaround, it is important to return the folder WindowsApps for the default user "NT SERVICE TrustedInstaller". Thanks.Anonymous
May 08, 2013
The comment has been removedAnonymous
May 09, 2013
Hi Simon, Could you please send us an email at tfsodata at Microsoft dot com? We can take it from there. Thanks, NishaAnonymous
May 09, 2013
Hi Nisha, you got mail. Thanks for the fast reply :) SimonAnonymous
June 23, 2013
Same 500 error. Let me know when there is a fixAnonymous
July 01, 2013
hi, Is it possible to get the MEMBERS under a project?Anonymous
July 02, 2013
Hi Bilaal, It is not possible to get the members under a project. Thanks, NishaAnonymous
November 13, 2013
Hi Nisha, I'm trying configure 'OData Service for Team Foundation Server v2' for loca TFS instance. The projects runs successfully, but after providing credentials to Odata service end point hit, it throws as "Not authorized" though I could access the same TFS server instance via visual studio by providing same credential. How to resolve this issue ? -HemaAnonymous
November 14, 2013
That is strange Hema. Could you send us an email at tfsodata at Microsoft dot comAnonymous
March 06, 2016
The sample app is using Basic http authentication, which is not enabled by default in the On premise TFS website (IIS). If you want to use windows authentication instead, just change the credential using NetworkCredential and add into CredentialCache CurrentCredential = new CredentialCache(); CurrentCredential.Add( new Uri(url), "NTLM", new NetworkCredential(username, password, domain)); Arif