我目前正在开发iPhone应用程序。此应用程序回调通过我的ASP.NET Web应用程序公开的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 :(得分:0)
这必须在传输的两端完成,即服务器(WCF站点)和客户端(iPhone)。
如果您正在使用SOAP端点,那么您应该寻找Objective-C SOAP客户端库。这样,您所要做的就是根据需要设置最佳安全选项,服务器端代码将与目前几乎相同。
相反,如果您作为RESTful端点公开,我建议您寻找OpenID(& OAuth)方法。这里还有.NET和Objective-C库。我相信这个解决方案需要双方更多的编码。