Chúng tôi đang xây dựng một API REST bằng cách sử dụng ASP.NET MVC. API này tương tự về nguyên tắc và cách sử dụng API v3 thực tế. Họ sử dụng Oauth 1 chân cho API của họ. Thiết kế của chúng tôi rất giống với các ứng dụng đó, chủ yếu là thiết bị di động sẽ sử dụng API của chúng tôi phía sau hậu trường để cung cấp dịch vụ. Người dùng cuối của ứng dụng sẽ không biết về API của chúng tôi và do đó sẽ không có bất kỳ thông tin đăng nhập nào. Vì vậy, chuyển hướng người dùng thông qua một cửa sổ trình duyệt đến một hình thức auth (như facebook) không có ý nghĩa gì cả. Câu hỏi của tôi là ..Điều gì là tốt nhất cho auth ASP.NET MVC REST API? OAuth 2.0 hoặc OAuth 1.0?
- Tại sao luồng OAuth2 là cách tốt nhất để sử dụng trong trường hợp này?
- Chúng tôi có nên sử dụng Oauth2 hoặc chỉ gắn bó với OAuth 1 chân không?
Để tham khảo, chúng tôi đang sử dụng C# /. NET, ASP.NET MVC 3 và có kế hoạch sử dụng DotNetOpenAuth v4.
http://developer.factual.com/display/docs/Factual+Developer+APIs+Version+3
Vì Oauth2 mới, hãy truy cập Oauth1. Tôi đã tải xuống phiên bản mới nhất của DotNetOpenAuth 4 (rc1). Tôi có một thời gian chạm để phân loại qua tất cả các ví dụ để tìm một ví dụ tương tự với những gì chúng tôi cần. Chúng tôi đang sử dụng ASP.NET MVC 4 Web Api để xây dựng api còn lại. Tôi thực sự chỉ cần có khả năng ký một yêu cầu bằng cách sử dụng oauth với khóa api và bí mật, sau đó ở phía máy chủ có thuộc tính ủy quyền giải mã yêu cầu này và xác thực nó dựa vào khóa và bí mật trong cơ sở dữ liệu. Tôi nên theo dõi ví dụ nào? – craigtadlock
Các mẫu OAuthServiceProvider và OAuthConsumer phù hợp nhất. Nhưng có vẻ như người dùng không liên quan đến kịch bản của bạn - vì vậy có vẻ như bạn mô tả [OAuth 0 chân] (http://blog.nerdbank.net/2011/06/what-is-2-legged-oauth .html). Trong khi tôi không nghĩ rằng có một mẫu cụ thể cho điều đó, nó nên được khá đơn giản để cổng các mẫu trên để nó phù hợp với nhu cầu của bạn. –