jwe-decrypt
jwe-decrypt 插件解密发送到 APISIX 路由或服务的请求中的 JWE 授权头。
示例
以下示 例演示了如何在不同场景下使用 jwe-decrypt 插件。
暴露 JWE 加密端点并生成 JWE Token
以下示例演示了如何暴露 JWE 加密端点并生成 JWE Token。
jwe-decrypt 插件在 /apisix/plugin/jwe/encrypt 创建一个内部端点来加密 JWE。使用 public-api 插件暴露该端点:
curl "http://127.0.0.1:9180/apisix/admin/routes/jwe-encrypt-api" -X PUT \
-H "X-API-KEY: ${ADMIN_API_KEY}" \
-d '{
"uri": "/apisix/plugin/jwe/encrypt",
"plugins": {
"public-api": {}
}
}'
创建一个启用 jwe-decrypt 的 Consumer 并配置解密密钥:
curl "http://127.0.0.1:9180/apisix/admin/consumers" -X PUT \
-H "X-API-KEY: ${ADMIN_API_KEY}" \
-d '{
"username": "jack",
"plugins": {
"jwe-decrypt": {
"key": "jack-key",
"secret": "key-length-should-be-32-chars123"
}
}
}'
使用 Consumer Key 发送请求到加密端点,以加密 Payload 中的一些示例数据:
curl "http://127.0.0.1:9080/apisix/plugin/jwe/encrypt?key=jack-key" \
-d 'payload={"uid":10000,"uname":"test"}' -G
你应该看到类似于以下的响应,响应体中包含 JWE 加密数据:
eyJraWQiOiJqYWNrLWtleSIsImFsZyI6ImRpciIsImVuYyI6IkEyNTZHQ00ifQ..MTIzNDU2Nzg5MDEy.IUFW_q4igO_wvf63i-3VwV0MEetPL9C20tlgcQ.fveViMUi0ijJlQ19D7kDrg