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ミドルウェアに対するサードパーティの貢献を歓迎します。お知らせください。このリストに記載します:)
ミドルウェア | 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 | GraphQL.js のためのカスビン認証ミドルウェア |
Middleware | GraphQL Implementation | Author | Description |
---|---|---|---|
graphql-authz | GraphQL-core 3 | @Checho3388 | A Casbin authorization middleware for GraphQL-core 3 |