Vai al contenuto principale

GraphQL Middlewares

Casbin segue il modo ufficialmente suggerito per fornire l'autorizzazione per gli endpoint GraphQL mantenendo una singola fonte di verità per l'autorizzazione: https://graphql.org/learn/authorization/. In altre parole, Casbin dovrebbe essere posizionato tra il livello GraphQL e la tua logica di business.

// 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);
}
}
}
});

Middleware GraphQL supportati

Di seguito è fornito un elenco completo dei middleware GraphQL di Casbin. Sono benvenuti contributi di terze parti per un nuovo middleware GraphQL. Per favore, informaci e lo aggiungeremo a questo elenco:)

MiddlewareImplementazione GraphQLAutoreDescrizione
graphql-authzgraphqlCasbinUn middleware di autorizzazione per graphql-go
graphql-casbingraphql@esmaeilpourUn'implementazione dell'uso di Graphql e Casbin insieme
gqlgen_casbin_RBAC_examplegqlgen@WenyXu(vuoto)