Header Ads Widget

Ticker

6/recent/ticker-posts

Explorando OAuth.tools, el primer parque infantil de OAuth del mundo

 


La seguridad de la API es compleja y los sistemas subyacentes que la admiten lo son aún más. Entender la seguridad de la API requiere comprender muchos componentes subyacentes. En consecuencia, cualquier herramienta que pueda ayudar a contextualizar estos sistemas no solo es una buena herramienta educativa, sino que también es una buena herramienta comercial.

OAuth.tools parece preparado para ser esa solución. Desarrollado por Curity , OAuth.tools desglosa temas complejos relacionados con OAuth, como flujos y alcances, en componentes visualmente comprensibles. Cada flujo se entiende en contexto con otros flujos adoptando este enfoque. Entonces, ¿OAuth.tools logra representar temas tan complejos? Nosotros creemos que sí. Hoy revisamos OAuth.tools y consideramos por qué comprender los flujos de OAuth es tan valioso para proteger sus API.

¿Qué es OAuth.tools?

OAuth.tools, creado por Curity, es un lugar seguro e independiente del proveedor para experimentar con una amplia variedad de flujos de OAuth.

En versión beta al momento de escribir este artículo, OAuth.tools es principalmente un recurso educativo: un lugar seguro, independiente del proveedor, para aprender y experimentar con una amplia variedad de flujos de OAuth . Está diseñado para informar, no para hacer proselitismo de una sola solución de proveedor (o de hecho, una sola solución en absoluto, ya que ofrece una amplia variedad de diferentes flujos para probar). Muchos flujos que se pueden probar en un entorno en vivo  que le permite no solo ver cómo se ve cada diseño de flujo, sino también cómo se ven el resultado esperado y las diversas restricciones, requisitos y componentes funcionales desde un punto de vista operativo.

El sitio es compatible actualmente con nueve flujos: Decode JWT , credenciales del cliente Flow , Flow Código , híbrido de flujo , implícito Flow , Flow ROPC , Flujo de dispositivos , Flujo de introspección y de flujo UserInfo . Esta cobertura integral permite representar una amplia variedad de implementaciones a lo largo de sus pruebas.

Al ingresar a OAuth.tools, se genera un JWT de muestra para usar en un flujo de OAuth

Cuando ingresa por primera vez al sitio, se le recibe con la página del token JWT . Esta página es un gran ejemplo de cómo la claridad y la brevedad se utilizan mejor para comunicar un montón de información a la vez. La página (y el sitio en general) está bien diseñada y es fácil de entender.

La página está dividida en tres secciones, que representan un flujo de trabajo de sentido común. A la izquierda, podemos ver los flujos actualmente en uso. Desde aquí podemos crear, eliminar o cambiar entre otros flujos que hemos configurado (así como filtrar el lote actual de flujos según un criterio establecido). En el centro de la página, el espacio de trabajo le permite pegar un JWT y cambiar entre un puñado de tipos de tokens , incluido el token de acceso , el token de actualización , el token de identificación , la afirmación del cliente , la afirmación del usuario , los metadatos de OpenID y el ambiguamente titulado "Otro". .

Antes de poder probar un flujo, es necesario crear un entorno . El sistema de gestión del entorno aquí está bien ejecutado, intuitivo y completo.

Inclusión del protocolo WebFinger, un movimiento inteligente para UX.

Una de las grandes características aquí es la inclusión del protocolo WebFinger . El protocolo, especificado por el IETF , es un mecanismo mediante el cual la información y los metadatos se pueden descubrir automáticamente a través de una simple URL. Si bien WebFinger es el protocolo especificado para OpenID Connect, su inclusión aquí fue un movimiento inteligente en términos de experiencia del usuario : reduce la barrera de entrada al reducir la cantidad de trabajo que se debe realizar al crear un entorno de prueba, algo que sigue siendo un un poco complicado en otras soluciones.

Una vez que se ha ingresado la URL adecuada, WebFinger puede completar automáticamente el resto de la información en el panel de entornos, enumerando los puntos finales, los ámbitos expuestos, las claves publicadas, los posibles mecanismos de autenticación y los tipos de respuesta esperados, sin mencionar los metadatos en sí.

El sistema de gestión de clientes en OAuth.tools

Dentro de este sistema también hay un panel de administración de clientes . Será necesario crear un cliente para actuar sobre el medio ambiente. Esto se hace fácilmente simplemente ingresando el ID / nombre del cliente deseado, una frase secreta, y luego seleccionando qué flujos usar. Los flujos incluidos aquí son Code Flow, Implicit Flow, Hybrid Flow, Client Credentials Flow, ROPC Flow, Introspect y Device Flow. Además, puede elegir si el cliente se puede enmarcar o no en este punto, lo que significa que se puede enmarcar en un elemento HTML.

Una vez que todo esto se haya configurado, podemos comenzar a crear flujos. Los flujos en OAuth son métodos de autorización que a menudo son marcadamente diferentes entre sí, por lo que la inclusión de una gran cantidad de flujos aquí es excelente: el usuario puede familiarizarse con algunos de los flujos más esotéricos o de un solo propósito mientras tiene acceso a flujos generales también.

Los usuarios pueden familiarizarse con los flujos de OAuth comunes y esotéricos.

Relacionado:  8 poderes y flujos vitales de OAuth

Como se indicó anteriormente, puede seleccionar entre Decodificar JWT, Flujo de credenciales de cliente, Flujo de código, Flujo híbrido, Flujo implícito, Flujo ROPC, Flujo de dispositivo, Flujo de introspección o Flujo de información de usuario para comenzar a probar un flujo.

Para obtener un ejemplo simple de cómo se ve Decode JWT , conectemos uno.

Una muestra de prueba Decode JWT

En este caso, hemos utilizado una prueba como JWT proporcionada por jwt.io . Aquí, podemos ver la simplicidad fundamental de este sitio y la claridad que gana. A la izquierda, tenemos todos nuestros flujos y el mensaje para agregar más. En el centro, tenemos nuestro JWT, y una amplia variedad de opciones sobre cómo definimos ese JWT para este sistema. A la izquierda, tenemos una forma muy limpia y eficiente de visualizar lo que está sucediendo durante esta decodificación.

Si bien esta es, con mucho, la más simple de estas opciones, expone algunas cosas. En primer lugar, expone cómo se compone un JWT y qué parte del JWT es responsable de qué. Esta representación gráfica de un elemento con muchos datos es extremadamente útil y, cuando se combina con el mayor sistema de flujos, ayuda a establecer la base para avanzar en el aspecto y el comportamiento del resto de nuestros flujos.

Lea también:  La respuesta a la integración de OAuth en aplicaciones de una sola página

Educación versus proselitismo

Mientras hablamos de OAuth.tools, debemos reconocer la diferencia entre las herramientas educativas y la proselitización de soluciones específicas. Al crear casos de prueba, entornos de ejemplo, etc., es muy fácil caer en la trampa de diseñar para marketing en lugar de diseñar para conocimiento. Si bien no hay nada de malo en sí mismo en diseñar materiales orientados al futuro para usos de marketing (y, de hecho, es algo esperado), estas herramientas deben hacer una cosa en esencia: educar.

Esto es algo que OAuth.tools hace realmente bien. Debido a que este sistema fue diseñado ante todo para educar, y dado que es de uso y exploración gratuitos, no se puede subestimar el valor de la herramienta para fines educativos. OAuth puede, a veces, ser bastante complejo: tener la capacidad de jugar con él de forma segura y gratuita es genial. Hacer esto sin estar también inundado de ventas adicionales es aún mejor, y realmente sugiere una mentalidad de enseñanza, no de predicación, basada en la experiencia del usuario.

Conclusión

OAuth.tools es una gran oferta y proporciona un entorno maravilloso desde el cual se puede realizar una amplia gama de pruebas en un entorno seguro y sin costo. En términos de herramientas que exponen sistemas subyacentes complejos, esta solución lo hace quizás de una de las formas más elegantes y efectivas.

Esta herramienta es excelente no solo para exponer estos flujos a aquellos que intentan probar el código o acercarse a los flujos mismos, sino también para exponer al lego común a cómo se ven estos flujos, cómo funcionan con una variedad de datos y, en última instancia, cómo se ve, se siente y funciona OAuth en general.

¿Qué piensas? ¿Le ha gustado explorar OAuth con OAuth.tools? ¡Háganos saber en la sección de comentarios a continuación!

Publicar un comentario

0 Comentarios