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:)
- Go
- Node.js
- Python
| Middleware | Implementazione GraphQL | Autore | Descrizione | 
|---|---|---|---|
| graphql-authz | graphql | Casbin | Un middleware di autorizzazione per graphql-go | 
| graphql-casbin | graphql | @esmaeilpour | Un'implementazione dell'uso di Graphql e Casbin insieme | 
| gqlgen_casbin_RBAC_example | gqlgen | @WenyXu | (vuoto) | 
| Middleware | Implementazione GraphQL | Autore | Descrizione | 
|---|---|---|---|
| graphql-authz | GraphQL.js | Casbin | Un middleware di autorizzazione Casbin per GraphQL.js | 
| Middleware | Implementazione di GraphQL | Autore | Descrizione | 
|---|---|---|---|
| graphql-authz | GraphQL-core 3 | @Checho3388 | Un middleware di autorizzazione Casbin per GraphQL-core 3 |