首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >express-jwt和express-graphql: error TS2339:类型'Request‘上不存在属性'user’

express-jwt和express-graphql: error TS2339:类型'Request‘上不存在属性'user’
EN

Stack Overflow用户
提问于 2019-01-31 22:00:02
回答 1查看 392关注 0票数 2

我尝试让express-jwt和graphql在typescript中协同工作。

代码语言:javascript
复制
import * as express from 'express'
import * as expressGraphql from 'express-graphql'
import * as expressJwt from 'express-jwt'

import schema from './api/schemas'
import rootValue from './api/resolvers'

const app = express()

app.use(
  expressJwt({
    credentialsRequired: false,
    secret: process.env.JWT_SECRET
  })
)

app.use(
  '/',
  expressGraphql((req, res, graphQLParams) => ({
    schema,
    rootValue,
    context: {
      user: req.user
    }
  }))
)

我导入了相关类型@types/express@types/express-graphql@types/express-jwt

存在打字错误:

代码语言:javascript
复制
error TS2339: Property 'user' does not exist on type 'Request'

express-jwt在request对象上添加了user

我怎么才能修复它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-02 06:37:07

使用一个属性扩展Express Request

代码语言:javascript
复制
interface AuthRequest extends express.Request {
  user?: string
}

app.use(
  '/',
  expressGraphql((req: AuthRequest, res, graphQLParams) => ({
    schema,
    rootValue,
    context: {
      user: req.user
    }
  }))
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54462222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档