La autenticación compartida entre la aplicación web de SaaS / Cloud y aplicaciones de escritorio

StackOverflow https://stackoverflow.com/questions/2356110

Pregunta

Un escenario simple:

Vamos a decir que tenemos una aplicación web en la nube que permite a los usuarios inscribirse usando OpenID. (Estoy abierto a utilizar Windows Live ID como alternativa) Pueden acceder y actualizar algunos datos de metadatos, por ejemplo, cuál es su color favorito es.

Si ahora quiero obtener esta información de un cliente de escritorio, ¿cómo puedo hacer eso? Probablemente voy a tener que exponer a un servicio web con el fin de consultar esta información, pero ¿qué hay de la autenticación?

No es la DotNetOpenAuth y ahí está el Windows Identity Foundation , y tenemos CardSpace etc.
Pero, ¿dónde diablos puedo empezar? ¿Cuál de las necesito yo? ¿Necesito los 3?
Y qué decir de STS, ¿hay alguna de OpenID / Windows Live ID?

¿alguien ve una muestra usando estas tecnologías que hará lo que yo estoy buscando? Cualquier punteros?

¿Fue útil?

Solución

separadas en su mente los conceptos de autenticación y autorización. You de los usuarios autenticados en su sitio web solamente . Usted puede hacer esto con OpenID, InfoCard, STS, o nombre de usuario + contraseña. aplicaciones cliente que llame al servicio técnico para obtener información específica del usuario debe ser autorizada , que tradicionalmente significa que piden al usuario su nombre de usuario + contraseña, que es un anti-patrón, y se descompone cuando se utiliza más fuerte o credenciales alternativas tales como OpenID o InfoCard, como se está viendo.

Autorizar la aplicación debe utilizar un protocolo de delegación como OAuth, que permite al usuario visita una página web que permite la aplicación de escritorio para acceder a los datos privados del usuario, sin que el usuario exponer sus credenciales a la aplicación.

DotNetOpenAuth apoya este escenario completo. Viene con la toma de muestras de OAuth y OpenID. Te recomiendo que echa un vistazo a cualquiera de los proyectos plantillas los cuales demuestran OpenID (y los formularios web uno incluso incluye InfoCard registrado como una opción) y también proveedor de servicios de OAuth, haciendo que funcione tanto para los usuarios de Internet y la autorización de estas aplicaciones por cliente derecha de la caja.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top