4.2.3. 在 JSON 配置文件中创建 3scale 策略链
如果使用 APIcast 的原生部署,您可以创建一个 JSON 配置文件来控制外部的策略链。
JSON 配置文件策略链包含一个由以下信息组成的 JSON 数组:
-
带有
id值的services对象,指定策略链按编号应用到哪个服务 -
proxy对象,其中包含policy_chain对象和后续对象 -
policy_chain对象,其中包含定义策略链的值 -
单独的
policy对象,用于指定策略和配置策略所需的name和configuration数据
以下是自定义策略 sample_policy_1 和 API 内省标准策略 token_introspection 的策略链示例:
{
"services":[
{
"id":1,
"proxy":{
"policy_chain":[
{
"name":"sample_policy_1", "version": "1.0",
"configuration":{
"sample_config_param_1":["value_1"],
"sample_config_param_2":["value_2"]
}
},
{
"name": "token_introspection", "version": "builtin",
"configuration": {
introspection_url:["https://tokenauthorityexample.com"],
client_id:["exampleName"],
client_secret:["secretexamplekey123"]
},
{
"name": "apicast", "version": "builtin",
}
]
}
}
]
}
所有策略链必须包含内置策略 apicast。在策略链中放置 apicast 策略会影响策略行为。