Al implementar un proveedor de OAuth, ¿cuál es la granularidad correcta para un "alcance"?

4

Si soy un proveedor de OAuth y deseo que el usuario pueda restringir las aplicaciones a solo un subconjunto de recursos (por ejemplo, solo recursos en la carpeta X), ¿cuál es el mecanismo correcto para hacer esto? Los ámbitos parecen serlo, pero encuentro poco o ningún precedente para esto.

A menudo veo los ámbitos implementados como permisos diferentes, por ejemplo. "solo lectura" o "lectura-escritura". Estas a menudo son categorizaciones muy generales y requieren que si se necesita un acceso profundo a cualquier conjunto de recursos en particular, también se debe otorgar ampliamente para que termine obteniendo acceso de lectura y escritura a todo, incluso si solo necesita modificar una cosa.

A veces veo los ámbitos implementados como categorías del recurso para acceder, por ejemplo. "fotos" o "dirección de correo electrónico". Esto solo tiene sentido si tiene un conjunto de categorías de recursos significativo, predefinido y finito.

Cuando veo los ámbitos de Google Drive , por ejemplo, no parece haber manera de restringir una aplicación Acceso a una colección de archivos. Pido disculpas si no estoy mirando lo suficiente, pero esto parece ser muy útil y simplemente no existe. Drive tiene un alcance "por archivo" pero tiene un comportamiento muy específico que no me interesa.

Como proveedor de OAuth, ¿cuáles son los argumentos a favor o en contra de la creación de ámbitos para los recursos creados por el usuario? Es decir, ¿por qué Google no puede permitir un alcance para cada una de las carpetas del usuario? Presumiblemente, la aplicación necesitaría permiso para enumerar primero las carpetas para que el usuario pueda seleccionarlas, luego la aplicación podría buscar permisos adicionales para las carpetas. Esto significaría múltiples diálogos de OAuth, así que puedo imaginar que la respuesta es que es difícil hacer una buena experiencia. He tenido dificultades para encontrar una discusión de estas compensaciones en otro lugar.

    
pregunta Greg S 10.03.2014 - 22:02
fuente

1 respuesta

2

Es posible que también desee considerar algo como un Web Powerbox en su lugar, posiblemente combinado con una configuración Rumpelstiltskin tree-graph . Básicamente, OAuth tiene la autoridad equivocada al pedir / otorgar un paradigma para realizar un trabajo útil granular con. Con una solución de Powerbox, la aplicación le pide a Powerbox que le pida al usuario que seleccione una entidad que Powerbox otorgue al usuario. Por lo tanto, toda la aplicación necesita un ámbito para la Powerbox, por ejemplo, permitiendo que la aplicación solo solicite a la Powerbox que solicite al usuario que seleccione una faceta de archivo de solo tipo de un tipo específico del árbol de directorios. Con un gráfico de árbol de Rumpelstiltskin, puede construir un árbol de directorios con un nombre de autenticación (capacidad de contraseña) para cada nodo sin la necesidad de administración de datos relacionales (sql y demás). Combinando los dos, un usuario de una aplicación podría delegar el acceso a otros usuarios de la misma aplicación o una relacionada.

    
respondido por el user1703394 11.03.2014 - 08:22
fuente

Lea otras preguntas en las etiquetas