주요 콘텐츠로 건너뛰기

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 미들웨어

아래에 Casbin GraphQL 미들웨어의 전체 목록이 제공됩니다. 새로운 GraphQL 미들웨어에 대한 제3자의 기여는 환영입니다. 우리에게 알려주시면, 이 목록에 추가하겠습니다:)

미들웨어GraphQL 구현저자설명
graphql-authzgraphqlCasbingraphql-go를 위한 권한 부여 미들웨어
graphql-casbingraphql@esmaeilpourGraphql과 Casbin을 함께 사용하는 구현
gqlgen_casbin_RBAC_examplegqlgen@WenyXu(비어 있음)