miércoles, 1 de abril de 2015

Recuerda migrar a OAuth2 u OpenID Connect

Originalmente publicado por William Denniss, Product Manager, Identity and Authentication (Reminder to migrate to OAuth 2.0 or OpenID Connect)

En los últimos años nosotros hemos hecho público que ClientLogin, OAuth 1.0 (3LO)*, AuthSub, y OpenID 2.0 serían discontinuados y cerrados el 20 de Abril del 2015. Nosotros estamos tomando distancia de estos protocolos antiguos con el fin de centrar nuestro apoyo a los últimos estándares de Internet, OAuth 2.0 y OpenID Connect, que aumentan la seguridad y reducen la complejidad.

La forma más fácil de migrar a estos nuevos estándares es usar Google Sign-in SDKs  (consulte la documentación de migración).Google Sign-in está construido sobre OAuth 2.0 y la infraestructura de OpenID Connect, esto proporciona una única interfaz para el flujo de autenticación y autorización en Web, Android y iOS.

Si la migración de estas aplicaciones, que utilizan estos protocolos discontinuados, no se completa antes de la fecha límite, la aplicación va a experimentar una interrupción en su capacidad de conectar con Google (posiblemente también incluyendo la capacidad de registro o ingreso[sign-in]) hasta que se produzca la migración a un protocolo soportado. Para evitar cualquier interrupción en el servicio, es importante que usted trabaje en la migración antes de la fecha de cierre.

Si necesita migrar su integración con Google:

Si tienes cualquier pregunta técnica sobre la migración de tu aplicación, puedes enviar las preguntas en Stack Overflow utilizando la etiqueta google-oauth o google-openid.

*3LO significa 3-legged OAuth: El Usuario final proporciona consentimiento. Por el contrario, 2-legged (2LO) corresponde a escenarios de autorización empresariales: control de acceso mediante políticas organizacionales. Los flujos de OAuth1, 2LO y 3LO están en desuso.

El poder de Polymer y YouTube desde la comunidad de expertos

Cual es uno de los mayores desafíos a los que nos enfrentamos hoy en día los desarrolladores al momento de crear la UI de una aplicación?

Probablemente uno de los mayores desafíos es que las aplicaciones se han convertido en servicios, que se consumen desde distintos dispositivos, como móviles, tabletas, portátiles, TV, dispositivos vestibles y autos!!! Todos con distintos tamaños de pantallas, e incluso con distinto tipo de entrada de datos, como mouse y teclado, pantalla táctil y voz.
Por si esto fuera poco, incluso se utilizan estos nuevos servicios o aplicaciones desde distintos dispositivos en forma simultánea.

Este es un problema al que también se enfrenta Google, ya que provee servicios para todas las plataformas, e inclusive es pionero creando algunas de estas plataformas, como Android Wear y Android Auto.

La buena noticia es que Google no solo esta preparado para estos escenarios, en los que ofrece sus aplicaciones y servicios con una interfaz de usuario (UI) y una experiencia de usuario (UX) consistente, si no que ademas a desarrollado un lenguaje de diseño, Material Design, que resuelve el problema, y lo ha implementado sobre varios frameworks y tecnologías open source, como Polymer, Android L y AngularJS, lo que facilita y permite la rápida adopción de esta solución por parte de los desarrolladores para sus propias aplicaciones.

Material Design
Material Design es un lenguaje de diseño que utiliza los principios clásicos de diseño, e incorpora la ciencia y la tecnología para dar un aspecto material a los componentes de UI, como sombras y aceleración, de modo de lograr una metáfora de los componentes con objetos reales que le transmita al usuario información en forma intuitiva y que permita aplicar cientos de años de diseño aplicado a objetos materiales a una nueva rama de diseño, que es el diseño de UI, que solo lleva pocos años de vida.
Material Design es ademas el resultado de la evolución de Android a través de sus diferentes versiones.

Como se trata de una evolución de Android lo podemos encontrar en todas las versiones de Android L o superior, y en sus distintas plataformas, Android, Android Wear, Android TV y Android Auto.
Y para el desktop? y para la Web? Contamos con una implementación sobre las más modernas opciones tecnológicas para la Web, esto es Polymer para Web Components y otra para Angular JS.

Polymer
Polymer es una librería que nos permite crear páginas y aplicaciones Web mediante componentes (web components).
La potencia de este enfoque radica en que nos permite utilizar componentes propios y de terceros y componerlos para construir nuestra aplicaciones de forma simple, reduciendo tiempos y esfuerzo.

Polymer provee un set de controles estándar, Polymer paper elements, que permiten implementar la UI con Material Design. Ademas Google provee una colección de componentes Polymer que integran la funcionalidad de las distintas APIs de Google:
https://github.com/GoogleWebComponents

Si vemos la  lista de componentes vemos que, entre otros, contamos con controles de YouTube.  https://github.com/GoogleWebComponents/google-youtube


Youtube
Cuales son los controles basados en Polymer nos provee YouTube?

El control del reproductor: google-youtube
http://googlewebcomponents.github.io/google-youtube/components/google-youtube/

Este componente encapsula el reproductor, y expone como propiedades los parámetros que personalizan su apariencia y comportamiento.

El muro de videos: google-youtube-video-wall
http://googlewebcomponents.github.io/google-youtube-video-wall/components/google-youtube-video-wall/

Este control nos provee un muro de videos personalizable, basado en Material Design, y Polymer paper elements.
Este control utiliza el API de datos de Youtube para recuperar  y filtrar los vídeos que se presentan en el muro. Y nos permite especificar los parámetros con los que invoca el API de búsqueda y de datos.



Resumen
Vemos que Google a resuelto uno de los mayores desafíos que se presentan al crear la UI en una aplicación moderna, y ofrece un lenguaje de diseño y diferentes frameworks y plataformas que lo implementan, todo integrado a sus APIs y servicios para utilizarlos en una forma rápida y simple!

El siguiente paso es simplemente utilizarlo en nuestra aplicación!!

Te invito a leer la próxima entrega donde visitaremos casos de éxito de experiencias de usuario y aplicaciones Web con videos de YouTube, con el objetivo de analizar cómo las podemos re-implementar utilizando Polymer y Material Design, de modo de comparar y analizar la potencia de estas nuevas tecnologías y conceptos.

Hasta la próxima!