@graphql-authz/envelop-plugin
v1.0.7
Published
Envelop plugin for graphql-authz
Downloads
3,501
Maintainers
Readme
@graphql-authz/envelop-plugin
Configuring for Envelop
Ensure context parser is configured to perform authentication and add user info to context
const getEnveloped = envelop({
plugins: [
...
useExtendContext(req => ({
user: someHowAuthenticateUser(req.get("authorization"))),
})),
...
]
});
or
getEnveloped({
user: someHowAuthenticateUser(req.get("authorization"))),
});
Add plugin to envelop
import { authZEnvelopPlugin } from "@graphql-authz/envelop-plugin";
const getEnveloped = envelop({
plugins: [
...
authZEnvelopPlugin({ rules })
...
]
});
For Directives usage
Apply directive transformer to schema
import { authZDirective } from '@graphql-authz/directive';
import { authZEnvelopPlugin } from "@graphql-authz/envelop-plugin";
const { authZDirectiveTransformer } = authZDirective();
const transformedSchema = authZDirectiveTransformer(schema);
const getEnveloped = envelop({
plugins: [
useSchema(transformedSchema),
authZEnvelopPlugin({ rules })
...
]
});
For AuthSchema usage
Pass additional parameter authSchema
to authZEnvelopPlugin
import { authZEnvelopPlugin } from "@graphql-authz/envelop-plugin";
const getEnveloped = envelop({
plugins: [
...
authZEnvelopPlugin({ rules, authSchema })
...
]
});