2

我想验证存储在 Express Gateway 中的 cookie 中的 JWT 令牌。我尝试了 gateway.config.yml 的以下配置,但它不起作用。

是否可以在 Express Gateway 中执行此操作?

HTTP 请求

Cookie: culture=EN-US; jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1ZGU5ZmZiMjFmNThhODIxYjhhOWFhZGEiLCJyb2xlcyI6W10sImlhdCI6MTU3NTk3MDM0OSwiZXhwIjozNzIzNDUzOTk2fQ.TEgRSc9V6a6UA-7ppx54xu8kGWfQ1SOq9s3JQQnqEWk
      - jwt:
          - action:
              secretOrPublicKey: 'xxxxxxxx' 
              checkCredentialExistence: false
              jwtExtractor: header
              jwtExtractorField: Cookie['jwt']
4

1 回答 1

1

自发布此问题以来已经过去了大约一年半,我今天遇到了同样的问题。根据我在来源中看到的内容,您似乎无法做到这一点(截至目前)。

Express Gateway 的jwt策略passport-jwt在下面使用,尽管passport-jwt确实允许传入自定义提取器以从请求中提取 JWT(如在您的用例中,您希望从特定的 Cookie 中提取它),但 Express Gateway 目前尚未公开此功能。

参考文献:
[1] Express Gateway JWT 策略:https
://github.com/ExpressGateway/express-gateway/tree/master/lib/policies/jwt [2] passport-jwtExpress Gateway 暴露的提取器:https://github。 com/ExpressGateway/express-gateway/blob/master/lib/policies/jwt/extractors.js ( header, query, authScheme, authBearer)

[3] 将自定义提取器传递给passport-jwthttps ://www.npmjs.com/package/passport-jwt#writing-a-custom-extractor-function

于 2021-05-16T17:44:25.063 回答