我正在使用Express网关作为API网关。我希望EG(Express Gateway)对我的密钥库服务器将签名的JWT进行身份验证。我在gateway.config.yml中的设置是这样的:
http:
port: 6060
admin:
port: 9876
hostname: localhost
apiEndpoints:
api:
host: localhost
paths: '/ip'
serviceEndpoints:
httpbin:
url: 'https://httpbin.org'
policies:
- basic-auth
- jwt
- cors
- expression
- key-auth
- log
- oauth2
- proxy
- rate-limit
pipelines:
default:
apiEndpoints:
- api
policies:
# Uncomment `key-auth:` when instructed to in the Getting Started guide.
- jwt:
secretOrPublicKey: MySuperSecretKey
- proxy:
- action:
serviceEndpoint: httpbin
changeOrigin: true
我正在启动EG服务器,然后去https://jwt.io/选择HS256来设置有效负载,并生成密钥和JWToken。然后,我使用不记名令牌向邮递员发出请求,因为这是默认值,并且我得到了401未经授权。
有人知道我在做什么配置错误吗?
答案 0 :(得分:1)
使用当前配置,您需要创建一个内部证书JWT
,以便Express Gateway可以查找令牌并进行相应的检查。
如果要跳过此检查,只需将checkCredentialExistence
设置为false
作为jwt
策略参数。然后请求将通过。
干杯!