GraphQL Middlewares
Casbin tuân theo cách được đề xuất chính thức để cung cấp ủy quyền cho các điểm cuối GraphQL bằng cách có một nguồn sự thật duy nhất cho việc ủy quyền: https://graphql.org/learn/authorization/. Nói cách khác, Casbin nên được đặt giữa lớp GraphQL và logic kinh doanh của bạn.
// 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);
}
}
}
});
Các Middleware GraphQL được hỗ trợ
Danh sách đầy đủ các middleware GraphQL của Casbin được cung cấp dưới đây. Bất kỳ đóng góp của bên thứ ba về một middleware GraphQL mới đều được hoan nghênh. Xin vui lòng thông báo cho chúng tôi, và chúng tôi sẽ thêm nó vào danh sách này:)
- Go
- Node.js
- Python
Middleware | Triển khai GraphQL | Tác giả | Mô tả |
---|---|---|---|
graphql-authz | graphql | Casbin | Một middleware xác thực cho graphql-go |
graphql-casbin | graphql | @esmaeilpour | Một triển khai sử dụng Graphql và Casbin cùng nhau |
gqlgen_casbin_RBAC_example | gqlgen | @WenyXu | (trống) |
Middleware | Triển khai GraphQL | Tác giả | Mô tả |
---|---|---|---|
graphql-authz | GraphQL.js | Casbin | Một middleware ủy quyền Casbin cho GraphQL.js |
Middleware | Triển khai GraphQL | Tác giả | Mô tả |
---|---|---|---|
graphql-authz | GraphQL-core 3 | @Checho3388 | Một middleware ủy quyền Casbin cho GraphQL-core 3 |