Autenticación lista para la producción
La API de GraphQL de Hasura expone una serie de consultas a los administradores y a los usuarios regulares de la aplicación. Los permisos están claramente definidos para cada rol. Pero además de esto, puede especificar exactamente una lista de consultas que deberían ejecutarse.
La lista de permitidos es una lista de consultas seguras (consultas, mutaciones o suscripciones de GraphQL) que el motor de GraphQL almacena en los metadatos.
Puede activar las listas de permitidos a través de la variable de entorno denominada HASURA_GRAPHQL_ENABLE_ALLOWLIST
.
En la aplicación de Slack tenemos una serie de consultas y mutaciones que pueden formar una lista y se permite que el servidor ejecute solo esos.
Por ejemplo, algunas de las consultas necesarias para la aplicación de slack son
- Buscar la lista de espacios de trabajo de los que un usuario es parte
query {users {workspaces {idname}}}
- Buscar la lista de canales en un espacio de trabajo
query getChannelsInWorkspace($workspaceId: uuid_comparison_exp) {channel(where: {workspace_id: $workspaceId}) {idnamecreated_by}}
Tenga en cuenta que esto utiliza variables y por lo tanto se permitirá la misma consulta con diferentes valores para las variables.
- Buscar la lista de mensajes publicados en un canal
query getChannelsInWorkspace($workspaceId: uuid_comparison_exp, $offset: Int!) {channel(where: {workspace_id: $workspaceId}, limit: 20, offset: $offset) {idnamechannel_threads {channel_thread_messages {idmessage}}}}
- Build apps and APIs 10x faster
- Built-in authorization and caching
- 8x more performant than hand-rolled APIs