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 :)
- Go
- Node.js
- Python
Middleware | Implémentation GraphQL | Auteur | Description |
---|---|---|---|
graphql-authz | graphql | Casbin | Un middleware d'autorisation pour graphql-go |
graphql-casbin | graphql | @esmaeilpour | Une implémentation de l'utilisation de Graphql et Casbin ensemble |
gqlgen_casbin_RBAC_example | gqlgen | @WenyXu | (vide) |
Middleware | Implémentation GraphQL | Auteur | Description |
---|---|---|---|
graphql-authz | GraphQL.js | Casbin | Un middleware d'autorisation Casbin pour GraphQL.js |
Middleware | Implémentation GraphQL | Auteur | Description |
---|---|---|---|
graphql-authz | GraphQL-core 3 | @Checho3388 | Un middleware d'autorisation Casbin pour GraphQL-core 3 |