WCF - 第三方应用程序身份验证

时间:2010-03-22 12:36:39

标签: wcf-security

我目前正在开发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操作?

谢谢

1 个答案:

答案 0 :(得分:0)

这必须在传输的两端完成,即服务器(WCF站点)和客户端(iPhone)。

  • 如果您正在使用SOAP端点,那么您应该寻找Objective-C SOAP客户端库。这样,您所要做的就是根据需要设置最佳安全选项,服务器端代码将与目前几乎相同。

  • 相反,如果您作为RESTful端点公开,我建议您寻找OpenID(& OAuth)方法。这里还有.NET和Objective-C库。我相信这个解决方案需要双方更多的编码。