2010-07-30 20 views

Respuesta

103

Si usted tiene una cuenta (con algunos recursos privados) en un sitio Web, puede iniciar sesión con par nombre de usuario/contraseña. Si una aplicación desea obtener algunos recursos privados, y si no desea darles su nombre de usuario/contraseña, use OAuth.

Pero si desea iniciar sesión en múltiples sitios web con una cuenta única , utilice OpenID.

(Algunos sitios web utilizan OAuth como OpenID, y OpenID pueden ser el uso como OAuth si tiene un poco de materia privada en su cuenta de OpenID)

+7

Acaba de comprender toda la información obtenida. Espero que esto [OpenID y OAuth] (http://techastute.blogspot.com/2012/05/openid-authentication-oauth.html) sea útil. – raksja

239

OpenID es una forma de especificar una identidad para múltiples sitios para que no tenga que registrarse una y otra vez.

OAuth es una forma de permitir que una aplicación acceda a una cuenta sin darle a dicha aplicación la información de inicio de sesión de su cuenta. Puedes usarlos en conjunción.

Más información: OAuth-OpenID: You’re Barking Up the Wrong Tree if you Think They’re the Same Thing

+26

me gusta esta respuesta más que la marca como la respuesta. ¿nadie más? – the0ther

+0

Debido a la diferencia en el conteo de votos, Mark recibió una buena placa. Eso es seguro. :) –

+0

@Mark: Así es ahora. He votado a favor de uno (y el tuyo también). Debería ser una insignia ahora. –

20

OpenID es puramente * para la autenticación de múltiples sitios con un solo conjunto de credenciales.

OAuth es para permitir que las aplicaciones accedan de forma segura entre sí: el intercambio de datos. Piense en ello como establecer un vínculo de confianza entre dos cosas, por ejemplo, permitir que su cuenta de flickr publique cosas en su muro de Facebook o enganchar sus fotos de flickr en un sitio web de impresión de terceros.

OAuth no se trata sólo de sitio a sitio. Puede vincular aplicaciones de escritorio sin un concepto real de "identidad" a un sitio basado en identidades como Facebook o Twitter (por ejemplo, un cliente de Twitter puede publicar en su feed sin tener que almacenar sus datos de inicio de sesión).

Hay similitudes, pero OAuth es realmente todo acerca de los enlaces de servicio a servicio.

77

OpenID = utilizando las credenciales de acceso de un proveedor de OpenID (Google) para iniciar sesión en otra aplicación (desbordamiento de pila)

OAuth = Permitir que una aplicación (TwitPic) para actuar en su nombre para y acceder a información desde una aplicación que usted usa (Twitter).

Se pueden utilizar en combinación unos con otros.

+0

No es que Stack Overflow u otros sitios web que pertenecen a stackoverflow como serverfault usen OAuth para el registro de nuevos usuarios usando google o facebook y OpenID para registrarse utilizando otro sitio web de su dominio como serverfault o askubuntu. En OAuth podemos restringir qué información fluye de la parte de autenticación (facebook) al proveedor de servicios (stackoverflow). En OpenID simplemente damos un certificado que simboliza a la persona como legal y le damos acceso a toda la base de datos. Como stackoverflow o askubuntu pertenecen al mismo dominio, pueden intercambiar certificados con pleno acceso a las bases de datos de los usuarios. –

20

OpenID se trata de autenticación en muchos sitios con un nombre de usuario.
OAuth se trata de autorización: el sitio A tiene permiso para llamar a la API del sitio B.

Aquí hay otro buen artículo/analogía para explicar las diferencias: http://www.dotnetopenauth.net/about/about-oauth/

+2

'el sitio A tiene permiso para llamar a la API del sitio B. Eso lo solucionó por mí. Gracias una tonelada. –

+0

Además, si quiero que los usuarios que visitan mi sitio se registren en mi sitio web al iniciar sesión en Google, y luego almacenar un hash de su ID de correo electrónico contra todas sus actividades por motivos contables, lo utilizaría ... OpenID, ¿no? –

+0

@ronnieaka OpenID funcionaría bien para eso. –

Cuestiones relacionadas