2010-03-22 143 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库。我相信这个解决方案需要在双方都有更多的编码。