2011-10-12 13 views
10

Estoy familiarizado con DotNetOpenAuth y OAuth en general, pero en términos de desarrollo de API web, ¿cuál es la mejor manera de bloquear un servicio web en términos de lo siguiente criterios:La mejor manera de manejar la autenticación en .NET WCF Web API

  • Facilidad de aplicación
  • interoperabilidad/compatibilidad con las plataformas de los usuarios finales enfrentadas (iOS, Android, Windows Phone, Flex ...)
  • Si es o no es claramente basado en estándares (como OAuth por ejemplo)

Gracias!

Respuesta

5

favor, eche un vistazo aquí: OAuth 2.0 in Web API

Dentro del proyecto WebApiContrib también hay muestras de autenticación básica que es sencillo pero no deben ser utilizados sin SSL.

+0

¡Comprobación de esto! Gracias. –

+4

Ok, eso es útil, pero aquí está mi pregunta: ¿cómo actúo como "Facebook" en el ejemplo proporcionado? El artículo supone que desea utilizar un proveedor externo de crédito OAuth. Quiero crear tanto el proveedor de crédito como el servicio web aquí. –

0

Hay un par de wcf web api implementación para manejar la autenticación en internet. He hecho una también @http://misaxionsoftware.wordpress.com/2011/07/29/secure-restful-web-service-by-wcf-web-api-no-https-seriously/

Nota: El código se basa en Preview 3, algunos nombre de la clase ha cambiado en la vista previa 5.

La idea de la aplicación es garantizar una comunicación segura sin SSL.

Es fácil de construir. La función es transparente para su servicio porque todo el trabajo se realiza en el controlador de mensajes. No se moleste en llamar a la función de autenticación en su método de servicio.

Compatible con punto final donde se admite el cifrado RSA. basada en estándares

, hmm ... Normas varía de un caso a otro ...

3

El DotNetOpenAuth .zip descarga incluye un servicio WCF muestra que está protegida por OAuth.

+0

Acabo de descargar sus muestras. Aprecio tantas muestras, pero estoy un poco confundido por todos los nombres de los proyectos y la terminología. ¿Hay algún ejemplo específico que demuestre el uso de Oauth2 para proporcionar un token oauth usted mismo en lugar de utilizar un proveedor de código abierto conocido (como google)? – Adam

+1

El ejemplo 'OAuthResourceServer' demuestra el uso de un token de acceso OAuth 2 para la autorización. El ejemplo 'OAuthAuthorizationServer' demuestra la emisión de estos tokens de acceso. El hecho de que el servidor de autorización use OpenID para iniciar sesión en el usuario es ortogonal al flujo de OAuth y puede reemplazarlo con lo que desee. –

Cuestiones relacionadas