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-authz | graphql | Casbin | Middleware авторизации для graphql-go |
| graphql-casbin | graphql | @esmaeilpour | Пример интеграции GraphQL и Casbin |
| gqlgen_casbin_RBAC_example | gqlgen | @WenyXu | (пусто) |
| Middleware | Реали зация GraphQL | Автор | Описание |
|---|---|---|---|
| graphql-authz | GraphQL.js | Casbin | Middleware авторизации Casbin для GraphQL.js |
| Middleware | Реализация GraphQL | Автор | Описание |
|---|---|---|---|
| graphql-authz | GraphQL-core 3 | @Checho3388 | Middleware авторизации Casbin для GraphQL-core 3 |
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.