Pular para o conteúdo principal

GraphQL Middlewares

Casbin segue o modo oficialmente sugerido para fornecer autorização para endpoints GraphQL, tendo uma única fonte de verdade para autorização: https://graphql.org/learn/authorization/. Em outras palavras, Casbin deve ser colocado entre a camada GraphQL e sua lógica de negócios.

// 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 GraphQL Suportados

Uma lista completa dos middlewares GraphQL Casbin é fornecida abaixo. Qualquer contribuição de terceiros em um novo middleware GraphQL é bem-vinda. Por favor, informe-nos, e nós o adicionaremos a esta lista:)

MiddlewareImplementação GraphQLAutorDescrição
graphql-authzgraphqlCasbinUm middleware de autorização para graphql-go
graphql-casbingraphql@esmaeilpourUma implementação do uso conjunto de Graphql e Casbin
gqlgen_casbin_RBAC_examplegqlgen@WenyXu(vazio)