2011-04-08 27 views
16

¿Puede explicarme la diferencia entre la implementación de OAuth 2.0 Two legged y Three legged. ¿Y cómo elegir? ¿Cuáles para mi?Diferencia entre OAuth 2.0 Implementación de dos patas y tres patas

+5

OAuth 2.0 no tiene una separación clara entre OAuth de 3 patas y 2 patas. Escribí una publicación de blog sobre cómo implementar OAuth de dos patas con OAuth 2.0 y lo comparo con 1.0 [http://blog.facilelogin.com/2011/12/2-legged-oauth-with-oauth-10-and -20.html] (http://blog.facilelogin.com/2011/12/2-legged-oauth-with-oauth-10-and-20.html) –

Respuesta

25

En primer lugar, las patas se refieren a los roles involucrados. Un flujo típico de OAuth implica tres partes: el usuario final (o el propietario del recurso), el cliente (la aplicación de terceros) y el servidor (o el servidor de autorización). Entonces un flujo de 3 patas involucra a los tres.

El término 2-legged se utiliza para describir una solicitud autenticada por OAuth sin que intervenga el usuario final. Básicamente, es una solicitud autenticada cliente-servidor simple en la que las credenciales del cliente (identificador y secreto) se utilizan para calcular una firma de solicitud en lugar de enviar el secreto a la vista.

Implementación sabia, la solicitud de 2 patas es exactamente la misma, pero no incluye un token de acceso ni token de acceso secreto. Estos dos valores son básicamente cadenas vacías.

+1

Gracias por destacarlo. Entonces, si tomo un ejemplo de Twitter, nos pide dos tipos de aplicaciones: a) clientes de escritorio b) aplicaciones web. En el caso de los clientes de escritorio, su aplicación le pedirá al usuario que ingrese el PIN proporcionado por Twitter, mientras que en el caso de la aplicación web, esto no sucederá. Entonces, ¿significa que en el caso de los clientes de escritorio, su 3-legged y en el caso de las aplicaciones web, su OAuth de 2 patas? –

+0

Si está realizando una llamada API en nombre de un usuario, no importa qué tipo de aplicación sea, se trata de un flujo de tres patas. No estoy seguro si Twitter incluso proporciona una API de 2 patas (es decir, una API que no tiene nada que ver con ningún usuario, solo el cliente mismo). –

+6

Twitter, de hecho, proporciona OAuth API de dos patas, que se usa cuando quiero tweet usando mi cuenta. Básicamente, OAuth de 2 patas es sobre autenticación directa. OAuth de 3 patas trata de delegación. –

Cuestiones relacionadas