如何防止apigee在JWT声明数组类型中用逗号分割字符串

时间:2019-12-22 13:30:01

标签: jwt apigee jwt-auth

我想在JWT有效负载中发送一个包含字符串(带有逗号)的数组,但是如果我将其指定为array =“ true”,则默认情况下,生成JWT策略会将字符串拆分为不同的数组元素。我该怎么做以防止apigee拆分此值,而是保留单个元素?

预期的JWT有效载荷:

{
   iat: 213123,
   client_id: 12312,
   custom_element: ["name=john,surname=doe,email=johndoe@gmail.com"]
}

自定义元素值:“名称= john,姓氏= doe,电子邮件=johndoe@gmail.com”

我使用的贴身政策:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GenerateJWT async="false" continueOnError="false" enabled="true" name="Generate-JWT">
    <DisplayName>Generate JWT</DisplayName>
    <Algorithm>HS256</Algorithm>
    <SecretKey>
        <Value ref="private.secret"/>
    </SecretKey>
    <AdditionalClaims>
        <Claim ref="custom_element" type="string" array="true" name="custom_element"/>
    </AdditionalClaims>
    <OutputVariable>token</OutputVariable>
</GenerateJWT>

当前输出(我的情况是错误的)

{
   iat: 213123,
   client_id: 12312,
   custom_element: ["name=john","surname=doe","email=johndoe@gmail.com"]
}

0 个答案:

没有答案