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

GraphQL Middlewares

Casbin слідує офіційно запропонованому способу надання авторизації для GraphQL кінцевих точок, маючи єдине джерело істини для авторизації: https://graphql.org/learn/authorization/. Іншими словами, Casbin повинен бути розміщений між шаром GraphQL та вашою бізнес-логікою.

// 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);
}
}
}
});

Підтримувані GraphQL проміжні програми

Повний список GraphQL проміжних програм Casbin наведено нижче. Будь-які сторонні внески щодо нової GraphQL проміжної програми приймаються. Будь ласка, повідомте нас, і ми додамо її до цього списку:)

Проміжна програмаРеалізація GraphQLАвторОпис
graphql-authzgraphqlCasbinПроміжна програма авторизації для graphql-go
graphql-casbingraphql@esmaeilpourРеалізація використання Graphql та Casbin разом
gqlgen_casbin_RBAC_examplegqlgen@WenyXu(порожньо)