2011-06-16 16 views
5

OAuth le permite al usuario otorgar acceso a sus recursos privados en un sitio a otro. ¿Pero cómo sucede esto exactamente? Y si deseo proporcionar funciones de OAuth en mi sitio (como Proveedor de servicios y como consumidor), ¿cómo hago para hacerlo? Estoy usando un servidor basado en Fedora 13. Y es posible configurar Round Cube/Squirrel Mail para proporcionar estos Servicios. Como a partir de ahora todos mis usuarios tienen una cuenta de correo en el servidor, quiero que las credenciales en el correo se utilicen para proporcionar los Servicios de OAuth.¿Cómo brindar servicios de OAuth desde el sitio web?

Respuesta

3

Un ejemplo simple para demostrar el flujo oauth. Comprender el concepto ayuda a diseñar en consecuencia: enter image description here

4

Si desea ser un proveedor de datos, debe implementar el servidor OAuth en su sitio y, si desea ser consumidor, deberá implementar el cliente OAuth en su sitio.

También debe leer algunos artículos y tutoriales para obtener una mejor comprensión del protocolo, porque es un protocolo que permite proteger las API y dicho esto, todo lo relacionado con la seguridad debe ser bien entendido por el desarrollador que lo está implementando .

En caso de que usted es un proveedor, la versión 1.0 del protocolo funciona de la siguiente manera:

  1. Consumidor requiere el acceso al usuario final los datos privados de
  2. proveedor emite un token para el consumidor
  3. usuario final autoriza el token
  4. consumidor puede realizar solicitudes autorizadas con esa señal para los datos privados de los usuarios finales

Un buen lugar para comenzar es: http://hueniverse.com/oauth/

También puede leer el RFC cuando decida si implementará la versión 1.0a o 2.0 del protocolo. Hasta ahora solo he implementado 1.0a, por lo que no puedo dar consejos sobre cuál es mejor. Supongo que la versión 2.0 tiene más posibilidades, y todos dicen que es más fácil de implementar. En cuanto a lo más fácil, 1.0a no es difícil de implementar también, porque hay buenas bibliotecas de código abierto para clientes y servidores, y usted puede configurar y ejecutar el servidor o el cliente durante 1 día, si comprende los mecanismos del protocolo.

Por supuesto, si quiere hacer un buen servidor con diferentes ámbitos de acceso, herencia de ámbitos y si su API es complicada y extensible, tendrá que trabajar mucho más allí, no importa si elige 1.0 ao 2.0 OAuth versión

2

En cuanto a "¿Cómo lo haré?"

Hay muchas buenas bibliotecas por ahí. Aquí hay una excelente lista: http://oauth.net/code/

Cuestiones relacionadas