2010-03-22 10 views
5

Actualmente estoy trabajando en una aplicación de iPhone. Esta aplicación devuelve la llamada a los servicios de WCF expuestos a través de mi aplicación web ASP.NET. Actualmente, mi operación WCF es similar a la siguiente:WCF - Autenticación de aplicaciones de terceros

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

Mi aplicación web utiliza la Autenticación de formularios de ASP.NET. Mi desafío es que solo quiero que los usuarios autenticados puedan llamar a esta operación desde su iPhone. Sé que el iPhone SDK ha sido compatible con XML. Sin embargo, no estoy seguro de cómo bloquear mi operación WCF de modo que solo los usuarios autenticados puedan acceder a ella.

¿Cómo puedo hacer que mi operación WCF solo sea accesible para usuarios autenticados desde aplicaciones de terceros?

Gracias

Respuesta

0

Esto tiene que ser hecho en ambos lados de la transferencia, es decir, el servidor (sitio WCF) y el cliente (iPhones).

  • Si está utilizando puntos finales SOAP, entonces debe buscar las bibliotecas del cliente SOAP Objective-C. De esta manera, todo lo que tendrá que hacer es configurar las mejores opciones de seguridad para sus necesidades y su código del lado del servidor será casi idéntico a lo que es en este momento.

  • En cambio, si está exponiendo como puntos finales RESTful le sugiero que busque un enfoque OpenID (& OAuth). Aquí también, hay librerías .NET y Objective-C disponibles. Creo que esta solución requeriría mucha más codificación en ambos lados.

Cuestiones relacionadas