Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { ApolloServer } = require("apollo-server-express");
- const jwt = require("jsonwebtoken");
- const jwksClient = require("jwks-rsa");
- const resolvers = require("./resolvers");
- const typeDefs = require("./schema");
- const Auth = require("../services/Auth");
- const User = require("../storge/schema/User");
- const client = jwksClient({
- jwksUri: process.env.AUTH0_JWKS
- });
- function signingKey(header, cb) {
- client.getSigningKey(header.kid, function(err, key) {
- let signingKey = key.publicKey || key.rsaPublicKey;
- cb(null, signingKey);
- });
- }
- const options = {
- audience: process.env.AUTH0_AUDIENCE,
- issuer: process.env.AUTH0_ISSUER,
- algorithms: ["RS256"]
- };
- const apolloServer = new ApolloServer({
- resolvers: resolvers,
- typeDefs: typeDefs,
- playground: {
- endpoint: "http://localhost:3000/graphql"
- },
- context: ({ req }) => {
- try {
- // const token = req.headers.authorization
- // const user = new Promise((resolve, reject) => {
- // jwt.verify(token, signingKey, options, (err, decoded) => {
- // if (err) {
- // return reject(err)
- // }
- // resolve(true)
- // })
- // })
- // console.log(user)
- return {
- isAuth: true
- };
- } catch (error) {
- console.error(error);
- }
- },
- formatError: error => {
- return error.message;
- }
- });
- module.exports = apolloServer;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement