Passer au contenu principal

GraphQL Middlewares

Casbin suit la manière officiellement suggérée de fournir une autorisation pour les points d'extrémité GraphQL en ayant une seule source de vérité pour l'autorisation : https://graphql.org/learn/authorization/. En d'autres termes, Casbin doit être placé entre la couche GraphQL et votre logique métier.

// 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 pris en charge

Une liste complète des middlewares GraphQL de Casbin est fournie ci-dessous. Toute contribution de tiers sur un nouveau middleware GraphQL est la bienvenue. Veuillez nous en informer, et nous l'ajouterons à cette liste :)

MiddlewareImplémentation GraphQLAuteurDescription
graphql-authzgraphqlCasbinUn middleware d'autorisation pour graphql-go
graphql-casbingraphql@esmaeilpourUne implémentation de l'utilisation de Graphql et Casbin ensemble
gqlgen_casbin_RBAC_examplegqlgen@WenyXu(vide)