Skip to content

Integrating with Apollo GraphQL

Terminal window
npm install @authaction/node-sdk
import { ApolloServer } from "@apollo/server";
import { startStandaloneServer } from "@apollo/server/standalone";
import { createVerifier } from "@authaction/node-sdk";
import { apolloContext, requireUser } from "@authaction/node-sdk/apollo";
const verifier = createVerifier({ domain, audience });
const server = new ApolloServer({ typeDefs, resolvers });
await startStandaloneServer(server, {
context: apolloContext(verifier), // injects { user: TokenPayload | null }
});
// In resolvers
const resolvers = {
Query: {
protectedMessage(_parent, _args, context) {
const user = requireUser(context); // throws UNAUTHENTICATED if missing
return { message: "Protected", sub: user.sub };
},
},
};

Full SDK reference: github.com/authaction/authaction-node-sdk