2013-04-21 49 views
5

Tôi đang phát triển trang ASP.NET MVC 4 trên .NET 4.0. Tôi đang cố gắng xác thực trang web với một API WEB. Bây giờ trang web sẽ chuyển tên người dùng và mật khẩu và API WEB sẽ xác thực nó. Nếu được xác thực, API WEB sẽ trả về một Mã thông báo có vai trò, Thời gian phát trực tiếp, v.v. Tôi đang tìm một vài gợi ý về điều này.Asp.net MVC 4 + WEB API - Mã xác thực tùy chỉnh

1.) Cách tạo mã thông báo này? Tôi không muốn sử dụng STS hoặc bất kỳ thứ gì khác. Ngay cả một cách tiếp cận bằng chứng không ngốc sẽ làm. 2.) Ở phía MVC, tôi phải nhận mã thông báo này và đặt phiên hiện tại là đã được xác thực và đảm bảo khi TTL hết hạn, tôi chuyển hướng người dùng đến trang đăng nhập? Ngoài ra trong tất cả các yêu cầu API WEB, tôi cần gửi mã thông báo này.

Trả lời

4

Nói chung, bạn có thể tạo mã thông báo và triển khai mã xác minh của nó theo cách thủ công hoặc sử dụng một số công cụ của bên thứ 3.

Để xem hướng dẫn triển khai thủ công here hoặc here tại bài đăng blog, đây có thể là điểm khởi đầu tốt cho bạn. Nó dựa trên lớp http://oauth.googlecode.com/svn/code/csharp/OAuthBase.cs.

Đối với khái niệm khách hàng và OAuth, bạn có thể đọc here câu trả lời hay.

Từ bên thứ ba, lựa chọn goo có thể là DotNetOpenAuth. Đó là một thư viện tốt nhưng phức tạp khi làm việc với OAuth. Hãy thử xem Web API OAuth2 sample

Câu hỏi thứ hai - câu trả lời là có. Bạn xác thực mã thông báo và đặt yêu cầu là đã được xác thực. Dù sao, bạn có thể xem xét mẫu WEP API OAuth, nơi nó được triển khai.

1

Đây sẽ là một trong những nơi tốt để bắt đầu, này quan hệ độc đáo với các thành viên asp.net

https://stackoverflow.com/a/7217957/989679

Bạn về cơ bản lưu trữ thông tin trong userData của authCookie và hoạt động tốt với WebAPI

3

Bạn có thể xem xét sử dụng WebAPI Mã Auth Bootstrap Gói Tôi hiện đang làm việc trên - sẵn tại GitHub hoặc NuGet.

Tài liệu và mã mẫu có sẵn tại GitHub Wiki.

Mã thông báo đơn giản và xác thực người dùng và ủy quyền khởi động cho Các ứng dụng WebAPI. Được cung cấp với 'TokenAuthApiController' trong đó có hỗ trợ cài sẵn cho Đăng nhập và Đăng xuất (dựa trên cookie) và tự động phân tích mã thông báo và xác thực (bên trong chuỗi truy vấn, dữ liệu biểu mẫu hoặc cookie).

bootstrap này cho phép bạn chỉ cần có [TokenAuthentication] thuộc tính vào các hành động với sự thích hợp AccessLevel: Admin, User, Public hoặc Annonymous.

bootstrap này cũng cung cấp TokenAuthApiController được thừa kế từ truyền thống ApiController và thêm chức năng bổ sung chi tiết here.

Vui lòng kéo yêu cầu, báo cáo sự cố hoặc đóng góp

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