2010-03-22 145 views
5

我目前正在研究iPhone應用程序。此應用程序回調通過我的ASP.NET Web應用程序公開的WCF服務。目前,我的WCF操作如下所示:WCF - 第三方應用程序認證

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

我的Web應用程序正在使用ASP.NET Forms身份驗證。我的挑戰是,我只希望通過身份驗證的用戶能夠從iPhone調用此操作。我知道iPhone SDK已經支持XML。但是,我不確定如何鎖定我的WCF操作,以便只有通過身份驗證的用戶才能訪問它。

如何讓我的WCF操作僅對來自第三方應用程序的已認證用戶可訪問?

謝謝

回答

0

這在轉移,即服務器(WCF網站)和客戶端(iPhone手機)的兩側進行。

  • 如果您使用SOAP端點,那麼您應該查找Objective-C SOAP客戶端庫。這樣你所需要做的就是根據你的需求設置最好的安全選項,而你的服務器端代碼就像現在一樣。

  • 相反,如果您公開爲RESTful端點,我建議您查找OpenID(& OAuth)方法。這裏還有.NET和Objective-C庫。我相信這個解決方案需要在雙方都有更多的編碼。