2013-01-25 26 views
6

Tôi đang trong quá trình sử dụng AD FS để xác thực người dùng trong ứng dụng .NET 4.5. Tôi không thể tìm thấy bất kỳ ví dụ nào về yêu cầu/nhận mã thông báo từ ứng dụng bảng điều khiển và chuyển đổi mã thông báo đó thành ClaimsPrinciple. Các ví dụ duy nhất tôi có thể tìm thấy là cấu hình WCF dựa và tôi thực sự muốn xem mã thực tế có thể làm điều này ở dạng đơn giản nhất.Xác thực đối với AD FS từ .Net 4.5 Console App

Tôi đã cài đặt AD FS và nghĩ rằng tôi đã cấu hình sẵn sàng để nhận yêu cầu. Tôi đã tạo ra một bên dựa vào, cho nó một chìa khóa và gán một vài tuyên bố cho nó.

Bất kỳ ai có thể chỉ cho tôi đúng hướng hay những gì tôi cần làm ngay trong ứng dụng bảng điều khiển của tôi để gửi yêu cầu xác thực đến nó?

Cảm ơn

Trả lời

8

Cách dễ nhất là sử dụng WSTrustChannelFactory từ .NET 4.5.

Xem phương pháp RequestSecurityToken đây: http://leastprivilege.com/2012/11/16/wcf-and-identity-in-net-4-5-external-authentication-with-ws-trust/

Sau khi bạn có dấu hiệu bạn chạy nó thông qua việc xử lý thẻ tương ứng với biến nó thành một ClaimsPrincipal.

tôi có phương pháp helper và bindings trong thư viện của tôi trên github: https://github.com/thinktecture/Thinktecture.IdentityModel.45

(tìm kiếm thư mục WCF, WSTrustClient và mở rộng thư mục).

+0

Tuyệt vời, tôi nghĩ điều đó khiến tôi gần đến đó. Tôi đã tắt ràng buộc trong ví dụ cho WindowsWSTrust vì tôi muốn xác thực người dùng đã đăng nhập hiện tại. Tôi nhận được điều này ngay bây giờ mặc dù "yêu cầu http không được ủy quyền với lược đồ xác thực ứng dụng 'ẩn danh'" – Gavin

+0

Điểm cuối nào trong ADFS bạn đang sử dụng? – leastprivilege

+0

Tôi đã thử một vài tin cậy/13/windows, trust/13/windowstransport và trust/2005/windowstransport – Gavin

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