2009-09-07 28 views
12

Tengo un script de demostración que me permite autorizar con mi aplicación y devolver mi token. Pero esto es confuso¿Cómo funciona el sistema OAuth de Twitter?

Siempre utilicé el nombre de usuario y la contraseña en mis funciones CURL o simpleXML para autorizar la llamada API. No entiendo cómo esto se relaciona con oauth.

Supongo que almacenaré el token, pero ¿qué hago con él una vez que lo tengo? Nada de lo que he encontrado en línea es claro y supone que soy un tipo pretencioso y ya sé 9 décimas de lo que están hablando.

Ayúdame a pasar de utilizar el nombre de usuario y la contraseña en la dirección http a usar mi token oauth.

Respuesta

18

Siempre he usado el nombre de usuario y la contraseña en mis funciones CURL o simpleXML para autorizar la llamada API. ¿Qué demonios está pasando con esto oauth en comparación?

Nadie en su sano juicio debe confiar su contraseña de Twitter en su aplicación web para que su aplicación no pueda acceder a Twitter en su nombre. OAuth es una forma de evitar esto al permitir que el usuario conceda acceso selectivo para su aplicación a su cuenta de Twitter sin si conoce la contraseña. De esta forma, la contraseña sigue siendo una credencial compartida solo entre el usuario y Twitter, y no es una tercera parte no confiable (usted).

Eso es lo que pasa con esa porquería. Intenta decirlo en voz alta, rápido, con acento británico. * SCNR *

+1

@Konrad, buena respuesta. Pon el hervidor de agua. –

+0

No es que oauth sea mejor. Cualquier aplicación que quiera su contraseña ahora puede engañar a la mayoría de los usuarios normales para que la compartan al mostrar una pantalla falsa oauth. – Jacob

+0

@Jacob: desafortunadamente estás ahí. Pero OAuth no está roto en principio (¡hasta donde yo sé!). Desafortunadamente se rompe en la práctica porque los usuarios han sido entrenados para no prestar atención a las pantallas OAuth, y solo autorizan cualquier cosa. Twitter tiene que cambiar drásticamente su postura frente a las aplicaciones de terceros si quieren restaurar la utilidad de OAuth. –

2

encontré this site muy útil cuando estaba tratando de trabajar con oauth por primera vez.

+1

algún ejemplo práctico? – mrpatg

0

Consulte el specs para averiguar cómo funciona la autenticación con OAuth. Si navega por el sitio web, también encontrará la guía Getting Started que lo guiará en su camino.

14

La idea básica detrás de OAuth es que le permite actuar en nombre de una persona sin conocer su contraseña.

Digamos que tiene un sitio web de redes sociales (mi ejemplo sería Plantworking, plug desvergonzado). Y desea usar Twitter como un tercero para verificar la creación de nuevas cuentas. O desea permitir que los usuarios de su sitio publiquen tweets automáticamente desde su sitio web.

Como operador de Plantworking, ante todo tienes un secreto compartido con Twitter: te registras para esta clave y la almacena. No estoy seguro, pero supongo que se utiliza para firmar todas sus solicitudes.

  • Un usuario llega a su sitio.
  • Les muestras un buen enlace que dice "Registrarse con tu cuenta de Twitter".
  • Hacen clic en él, y en el fondo, envía una solicitud de un token a Twitter
  • Usted recibe un token de solicitud.
  • Envía al usuario a Twitter con este token de solicitud.
  • Twitter les muestra una buena página, con el nombre del sitio que realiza la solicitud y para lo que Plantworking quiere permiso.
  • Hacen clic en que están de acuerdo, por lo que Twitter marca ese token de solicitud como aceptado.
  • Twitter los dirige de vuelta a Plantworking
  • Plantworking toma el token de solicitud y envía una solicitud a Twitter (con el token de solicitud) para un "token de acceso". Si el intercambio es exitoso, Plantworking obtiene el token de acceso y sabe que ese usuario es legítimo. Plantworking puede crear la cuenta basada en esa información. O bien, si el permiso que solicitaba era utilizar recursos o interactuar con el sitio de Twitter en nombre del usuario, ahora puede hacerlo.
Cuestiones relacionadas