Usuario:ManuelRomero/PHP/hibridas/auth2

De WikiEducator
Saltar a: navegación, buscar



Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg



Protocolo OAuth 2.0



Icon inter.gif

Recursos de la Web


  1. http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=SpringSecurity-OAuth-Google
  2. http://rubenvasallo.es/php/google-y-su-oauth2/
  3. https://developers.google.com/accounts/docs/OAuth2?hl=es
  4. https://github.com/google/google-api-php-client
  5. http://www.thegameofcode.com/2012/07/conceptos-basicos-de-oauth2.html
  6. http://es.wikipedia.org/wiki/OAuth

Que es oauth2.0


Icon define.gif

Definición

OAuth (Open Authorization) es un protocolo abierto, que tras autentificarse (seguridad) autoriza el uso de una API para aplicaciones de escritorio, móviles y web.


  • Permite mediante terceros (No es ni el cliente ni el servidor, sino un servicio externo a nuestra aplicación, como google, twiter o Facebook), poder autentificarnos en lugar de tener que identificar usuario y contraseña en nuestra aplicación
  • En realidad esta parte es más propia de OpenID, pero queda integrada en oAuth2.0
  • Además autoriza mediante el uso de token a que el cliente pueda acceder a determinada información privada de un usuario sin necesidad de identificarse con los credenciales de dicho usuario, pero sí acceder en su nombre
  • La idea es que una aplicación (cliente) que requiere tener acceso a datos privados de un usuario (Propietario de recursos). Pero esta aplicación no debe conocer los datos privados usuario y contraseña del propietario de recursos
  • Entonces entra en escena un tercer elemento llamado proveedor
  • Êl proveedor identifica al cliente y le concede permiso para acceder a los recursos privados
  • El escenario se produce con tres elementos
  1. Cliente Aplicación que quiere acceder a los datos privados en nombre del propietario
  2. Propietario de recursos El es quien puede dar permiso para acceder a recursos y solo él
  3. Provedor (Servidor de recursos y de autentificación). Pueden ir juntos o separados. Contienen los datos privados a los que quiere acceder y por medio de tokens es capaz de aceptar solicitudes del cliente y responder con los datos solicitados. Genera tokens de acceso, valida usuarios y accesos.

Pendiente de desarrollar

http://www.ladrupalera.com/drupal/desarrollo/javascript/como-usar-una-api-de-google-con-autenticacion-traves-de-oauth2
  • Diferencias entre autentificar y autorizar
  • Descripción de cada proceso
  • Uso del protocolo con php
  • Alcance de su uso
  • Duración de las claves
  • Es importante que Auth es un protocolo de autorización más que de autentificación.
  • Lo que permite Auth es que una aplicación acceda en tu nombre a ciertos datos tuyos privados sin que tenga que conocer la aplicación tus credenciales.
  • Podemos leer la documentacion oficial
https://developers.google.com/identity/protocols/OAuth2
  • Esta misma idea la podemos usar para autentificarnos. Vamos a seguir el proceso
Paso 1
Identificamos nuestra aplicación en google

Auth 1.png
Auth 2.png
Archivo:Auth 3.png
Paso2 Seleccionamos las apis a las que queremos que los clientes puedan acceder

Seleccionamos el menú de credenciales (Credentials) y creamos un cliente nuevo

Archivo:Auth 5.png

  • Ahora hay que establecer permisos, el cual es un paso importante