0

我正在使用 MERN 编写一个全栈应用程序,我需要使用 JWT 令牌提供身份验证。我的代码如下所示:

router.use(GraphQLHTTP(
(req: Request, res: Response): Promise<any> => {
    return new Promise((resolve, reject) => {
        const next = (user: IUser, info = {}) => {
            /**
             * GraphQL configuration goes here
             */
            resolve({
                schema,
                graphiql: config.get("isDev"), // <- only enable GraphiQL in production
                pretty: config.get("isDev"),
                context: {
                    user: user || null,
                },
            });
        };
        /**
         * Try to authenticate using passport,
         * but never block the call from here.
         */
        passport.authenticate(['access'], { session: false }, (err, loginOptions) => {
            next(loginOptions);
        })(req, res, next);
    })
}));

我想通过 GraphQL 提供新一代令牌。为此,我需要检查用户是否使用了正确的身份验证方法。例如,要获取新的访问令牌,您需要刷新令牌,您需要使用刷新令牌的密码和电子邮件登录。但是使用护照意味着在身份验证后我将只拥有一个用户。

我应该如何进行?

4

0 回答 0