GraphQL Middlewares
Casbin sigue la forma oficialmente sugerida de proporcionar autorización para puntos finales de GraphQL al tener una única fuente de verdad para la autorización: https://graphql.org/learn/authorization/. En otras palabras, Casbin debe colocarse entre la capa GraphQL y tu lógica de negocio.
// Casbin authorization logic lives inside postRepository
var postRepository = require('postRepository');
var postType = new GraphQLObjectType({
name: 'Post',
fields: {
body: {
type: GraphQLString,
resolve: (post, args, context, { rootValue }) => {
return postRepository.getBody(context.user, post);
}
}
}
});
Middlewares de GraphQL compatibles
A continuación se proporciona una lista completa de los middlewares de GraphQL de Casbin. Se agradecen las contribuciones de terceros sobre un nuevo middleware de GraphQL. Por favor, infórmanos y lo añadiremos a esta lista :)
- Go
- Node.js
- Python
Middleware | Implementación de GraphQL | Autor | Descripción |
---|---|---|---|
graphql-authz | graphql | Casbin | Un middleware de autorización para graphql-go |
graphql-casbin | graphql | @esmaeilpour | Una implementación del uso conjunto de Graphql y Casbin |
gqlgen_casbin_RBAC_example | gqlgen | @WenyXu | (vacío) |
Middleware | Implementación de GraphQL | Autor | Descripción |
---|---|---|---|
graphql-authz | GraphQL.js | Casbin | Un middleware de autorización de Casbin para GraphQL.js |
Middleware | Implementación de GraphQL | Autor | Descripción |
---|---|---|---|
graphql-authz | GraphQL-core 3 | @Checho3388 | Un middleware de autorización de Casbin para GraphQL-core 3 |