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 проміжної програми приймаються. Будь ласка, повідомте нас, і ми додамо її до цього списку:)
- Go
- Node.js
- Python
Проміжна програма | Реалізація GraphQL | Автор | Опис |
---|---|---|---|
graphql-authz | graphql | Casbin | Проміжна програма авторизації для graphql-go |
graphql-casbin | graphql | @esmaeilpour | Реалізація використання Graphql та Casbin разом |
gqlgen_casbin_RBAC_example | gqlgen | @WenyXu | (порожньо) |
Проміжна програма | Реалізація GraphQL | Автор | Опис |
---|---|---|---|
graphql-authz | GraphQL.js | Casbin | Проміжна програма авторизації Casbin для GraphQL.js |
Проміжна програма | Реалізація GraphQL | Автор | Опис |
---|---|---|---|
graphql-authz | GraphQL-core 3 | @Checho3388 | Проміжна програма авторизації Casbin для GraphQL-core 3 |