Zum Hauptinhalt springen

GraphQL Middlewares

Casbin folgt dem offiziell vorgeschlagenen Weg, die Autorisierung für GraphQL-Endpunkte bereitzustellen, indem es eine einzige Wahrheitsquelle für die Autorisierung hat: https://graphql.org/learn/authorization/. Mit anderen Worten, Casbin sollte zwischen der GraphQL-Schicht und Ihrer Geschäftslogik platziert werden.

// 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);
}
}
}
});

Unterstützte GraphQL-Middlewares

Eine vollständige Liste der Casbin GraphQL-Middlewares finden Sie unten. Jeder Beitrag von Dritten zu einer neuen GraphQL-Middleware ist willkommen. Bitte informieren Sie uns und wir werden es zu dieser Liste hinzufügen:)

MiddlewareGraphQL-ImplementierungAutorBeschreibung
graphql-authzgraphqlCasbinEine Autorisierungs-Middleware für graphql-go
graphql-casbingraphql@esmaeilpourEine Implementierung der gemeinsamen Nutzung von Graphql und Casbin
gqlgen_casbin_RBAC_examplegqlgen@WenyXu(leer)