Sto cercando alcune indicazioni sul modo migliore per autenticarsi sul mio WebService. In questo momento, ho un WebService standard su .NET 3.5 e un sito Web MVC che si trova in cima a questo WebService.Utilizzo di OpenID con un WebService: il modo migliore per autenticarsi?
Il sito Web MVC utilizza OpenID per autenticare gli utenti e, durante la fase di sviluppo, abbiamo semplicemente passato l'identificatore di richiesta OpenID dell'utente al servizio Web per l'autenticazione. Ovviamente questo non è ciò che rilasceremo al cliente quando andremo a vivere.
Quindi la mia domanda è questa: Qual è il modo migliore per autenticarsi sul WebService?
Alcune delle API con cui ho giocato utilizzano i token di autenticazione. Un'altra idea che avevamo era, dopo la connessione al WebService, passare al client una chiave di crittografia che potevano usare per tutti i trasferimenti.
Sto pensando ad alta voce qui, e ancora, qualsiasi aiuto è molto apprezzato! Grazie!
...
UPDATE: In questo momento ho creato un SoapAuthenticationHeader personalizzato, che ha una proprietà OpenIdURL. Viene utilizzato su tutte le chiamate di servizio per autenticare l'utente. Il problema è duplice:
- Se un hacker conosce l'OpenIdURL di un utente, può facilmente accedere al WebService.
- L'OpenIdURL è attualmente passato in testo normale.
così ho potuto passare una chiave di crittografia al cliente al momento della connessione al servizio Web, e il client crittografare i OpenIdURL nell'intestazione SoapAuthentication. Ma io non sono sicuro di come fare meglio di questo ...
Quando si dice "servizio web standard" vuoi dire un servizio ASMX eredità, o stai usando WCF? –
Questo è vicino a ciò che non vedo l'ora, ma sarebbe bello se qualcuno potesse spiegarlo un po 'oltre. http://stackoverflow.com/questions/544388/openid-authentication-and-api-access –
Sto usando un ASMX WebService standard e MVC accede al WebService come riferimento di servizio (che penso sia un WCF wrapper?). –