CryptorResponse 插件

说明

  • CryptorResponse 插件是通过 fieldNames 去匹配 responseBody 里面的参数进行 加密 处理,替换当前 fieldNames 对应内容。

插件设置

  1. shenyu-admin —> 基础配置 —> 插件管理 —> cryptor_response 设置为开启。

CryptorResponse 插件 - 图1

  1. 打开 selector 配置需要匹配的流量。

  2. 打开 selector 对应的 Rules 配置。

CryptorResponse 插件 - 图2

  • strategyName: 解密算法名称。当前基于 shenyu 的 SPI 机制,可自定义加解密算法, 需要实现 org.apache.shenyu.plugin.cryptor.strategy.CryptorStrategy 接口。

    同时找到 resources/META-INF/shenyu/ 底下的 org.apache.shenyu.plugin.cryptor.strategy.CryptorStrategy 文件, 写上算法名称以及实现的 CryptorStrategy 接口的 class 的包名。

  • fieldNames: 匹配的参数名,支持解析多层次的 json 格式匹配,使用 . 分割,例如 data.id 。

  1. {
  2. data: {
  3. "id": ""
  4. }
  5. }
  • key: 秘钥,用于加密数据。

插件使用

  • 在网关的 pom.xml 文件中添加 cryptorResponse 的支持。
  1. <!-- apache shenyu Cryptor Response plugin start-->
  2. <dependency>
  3. <groupId>org.apache.shenyu</groupId>
  4. <artifactId>shenyu-spring-boot-starter-plugin-cryptor</artifactId>
  5. <version>${project.version}</version>
  6. </dependency>
  7. <!-- apache shenyu Cryptor Response plugin end-->

场景

防互联网黑产,恶意获取数据。提高数据安全性。