2010-03-22 15 views
5

Attualmente sto lavorando su un'applicazione iPhone. Questa applicazione richiama i servizi WCF esposti tramite la mia applicazione Web ASP.NET. Attualmente, la mia operazione di WCF è simile alla seguente:WCF - Autenticazione applicazione di terze parti

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

La mia applicazione Web utilizza l'autenticazione di moduli ASP.NET. La mia sfida è, voglio solo che gli utenti autenticati siano in grado di chiamare questa operazione dal loro iPhone. So che l'iPhone SDK ha supportato XML. Tuttavia, non sono sicuro di come bloccare la mia operazione WCF in modo tale che solo gli utenti autenticati possano accedervi.

Come faccio a rendere l'operazione WCF accessibile solo agli utenti autenticati da applicazioni di terze parti?

si

risposta

0

Grazie Questo deve essere fatto in entrambi i lati del trasferimento, vale a dire di server (sito WCF) e cliente (iPhone).

  • Se stai usando gli endpoint SOAP allora si dovrebbe guardare per Objective-C librerie client SOAP. In questo modo tutto ciò che dovrai fare è impostare le migliori opzioni di sicurezza in base alle tue esigenze e il tuo codice lato server sarà quasi identico come al momento.

  • Invece se si espongono come endpoint RESTful, suggerisco di cercare un approccio OpenID (& OAuth). Anche qui sono disponibili librerie .NET e Objective-C. Credo che questa soluzione richiederebbe molto più codice in entrambi i lati.

Problemi correlati