GraphQL Middlewares
Casbin mengikuti cara yang disarankan secara rasmi untuk memberikan kebenaran untuk titik akhir GraphQL dengan mempunyai satu sumber kebenaran untuk kebenaran: https://graphql.org/learn/authorization/. Dalam erti kata lain, Casbin harus diletakkan di antara lapisan GraphQL dan logik perniagaan anda.
// 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 yang Disokong
Senarai lengkap middleware GraphQL Casbin diberikan di bawah. Sumbangan pihak ketiga mengenai middleware GraphQL baru dialu-alukan. Sila maklumkan kepada kami, dan kami akan menambahkannya ke dalam senarai ini:)
- Go
- Node.js
- Python
Middleware | Pelaksanaan GraphQL | Pengarang | Penerangan |
---|---|---|---|
graphql-authz | graphql | Casbin | Pengantara kebenaran untuk graphql-go |
graphql-casbin | graphql | @esmaeilpour | Satu pelaksanaan penggunaan Graphql dan Casbin bersama-sama |
gqlgen_casbin_RBAC_example | gqlgen | @WenyXu | (kosong) |
Middleware | Pelaksanaan GraphQL | Pengarang | Penerangan |
---|---|---|---|
graphql-authz | GraphQL.js | Casbin | Pengantara kebenaran Casbin untuk GraphQL.js |
Pengantara | Pelaksanaan GraphQL | Pengarang | Penerangan |
---|---|---|---|
graphql-authz | GraphQL-core 3 | @Checho3388 | Pengantara kebenaran Casbin untuk GraphQL-core 3 |