Перейти к основному содержимому

Middleware для GraphQL

Согласно рекомендациям GraphQL по авторизации, логика авторизации должна находиться в одном месте — между слоем GraphQL и вашими резолверами. Используйте Casbin в резолверах (или в тонкой обёртке) для применения контроля доступа к типам, полям или операциям.

// 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​

Доступные интеграции Casbin с GraphQL:

MiddlewareРеализация GraphQLАвторОписание
graphql-authzgraphqlCasbinMiddleware авторизации для graphql-go
graphql-casbingraphql@esmaeilpourПример интеграции GraphQL и Casbin
gqlgen_casbin_RBAC_examplegqlgen@WenyXu(пусто)

Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.