2012-11-06 28 views
8

Tôi đang cố truy cập https://visualstudio.com (trước đây gọi là https://tfs.visualstudio.com, http://www.tfspreview.com) từ Dịch vụ Windows được viết trên .NET.Cách xác thực với Visual Studio Team Services bằng xác thực cơ bản mới từ Dịch vụ Windows .NET?

Tôi muốn sử dụng xác thực cơ bản mới nhưng tôi không thể tìm thấy cách để thực hiện.

Tôi tìm thấy rất nhiều liên kết đến bài đăng blog Team Foundation Service updates - Aug 27 nhưng nó đang sử dụng ứng dụng khách Java Team Explorer ở mọi nơi cho TFS.

Có phiên bản mới của Mô hình đối tượng .NET TFS để hỗ trợ xác thực cơ bản không?

Bằng cách tôi đã đăng nhập thành công bằng tài khoản dịch vụ. This answer rất hữu ích.

Trả lời

12

Trước hết, bạn cần phải cài đặt ít nhất Visual Studio 2012 Update 1 trên máy của mình. Nó bao gồm một phiên bản Microsoft.TeamFoundation.Client.dll được cập nhật với lớp BasicAuthCredential.

Đây là mã để làm điều đó, từ Buck's blog post How to connect to Team Foundation Service.

using System; 
using System.Net; 
using Microsoft.TeamFoundation.Client; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      NetworkCredential netCred = new NetworkCredential(
       "[email protected]", 
       "yourbasicauthpassword"); 
      BasicAuthCredential basicCred = new BasicAuthCredential(netCred); 
      TfsClientCredentials tfsCred = new TfsClientCredentials(basicCred); 
      tfsCred.AllowInteractive = false; 

      TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(
       new Uri("https://YourAccountName.visualstudio.com/DefaultCollection"), 
       tfsCred); 

      tpc.Authenticate(); 

      Console.WriteLine(tpc.InstanceId); 
     } 
    } 
} 
+3

Lưu ý rằng điều này yêu cầu kết nối 'https:'. –

+1

Tôi gặp sự cố khi làm việc này - Rõ ràng khi bạn sử dụng thông tin đăng nhập Tài khoản Microsoft của bạn, các giá trị được cung cấp sẽ không hoạt động như mong đợi. Để xác thực với VSO 2015, tôi phải bật "thông tin đăng nhập thay thế" để tôi có thể thay đổi tên người dùng thành định dạng địa chỉ không phải email. Sau đó mã này hoạt động tốt. – Volkirith

+0

đồng ý với Volkirith. điều này không làm việc với VS2015 bây giờ cần thiết lập thông tin thay thế thay thế đầu tiên trước khi bạn thực sự có thể chạy nó. – afr0

0

Đã có một số cập nhật để xác thực. Đối với các ứng dụng .NET, chúng tôi khuyên bạn nên sử dụng VSTS client libraries. Một tùy chọn khác là sử dụng Thư viện Thư mục Họat động Azure (ADAL). Để biết thêm thông tin và các mẫu, hãy kiểm tra VSTS's authentication documentation.

Các vấn đề liên quan