2010-03-22 39 views
5

Tôi hiện đang làm việc trên một ứng dụng iPhone. Ứng dụng này gọi lại cho các dịch vụ WCF tiếp xúc thông qua ứng dụng web ASP.NET của tôi. Hiện tại, hoạt động WCF của tôi trông giống như sau:WCF - Xác thực ứng dụng của bên thứ ba

[OperationContract] 
[WebInvoke(Method = "POST")] 
public string SubmitMessage(string message, int priority) 
{ 
    try 
    { 
    // Process message 
    // Return success code | message 
    } 
    catch (Exception) 
    { 
    // Return error code | message 
    } 
} 

Ứng dụng web của tôi đang sử dụng Xác thực mẫu ASP.NET. Thách thức của tôi là, tôi chỉ muốn người dùng được xác thực có thể gọi hoạt động này từ iPhone của họ. Tôi biết rằng SDK iPhone đã được hỗ trợ cho XML. Tuy nhiên, tôi không chắc chắn cách khóa hoạt động WCF của mình sao cho chỉ những người dùng được xác thực mới có thể truy cập nó.

Làm cách nào để làm cho hoạt động WCF của tôi chỉ có thể truy cập được đối với người dùng được xác thực từ ứng dụng của bên thứ ba?

Cảm ơn bạn

Trả lời

0

này phải được thực hiện ở cả hai bên của việc chuyển giao, cụ thể là máy chủ (trang WCF) và khách hàng (iPhone).

  • Nếu bạn đang sử dụng điểm cuối SOAP thì bạn nên tìm thư viện khách hàng SO-mục tiêu-C. Bằng cách này tất cả các bạn sẽ phải làm là thiết lập các tùy chọn bảo mật tốt nhất cho nhu cầu của bạn và mã phía máy chủ của bạn sẽ gần như giống hệt như hiện tại.

  • Thay vào đó nếu bạn đang hiển thị dưới dạng điểm cuối RESTful, tôi khuyên bạn nên tìm phương pháp OpenID (& OAuth). Ở đây cũng có sẵn các thư viện .NET và Objective-C. Tôi tin rằng giải pháp này sẽ đòi hỏi nhiều hơn nữa mã hóa ở cả hai bên.

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