如何将api主体x-www-form-urlencoded转换为原始纯文本/文本

时间:2019-07-17 17:48:33

标签: rest apigee api-gateway

我正在新的测试软件Tosca中设置oAuth生成。 Tosca只能处理具有原始主体类型的API调用。我需要将以下x-www-form-urlencoded有效负载转换为纯文本/文本。通过“ developerMessage”拒绝该请求:“身份验证服务拒绝了该请求”。

我尝试将所有“:”更改为“ =”,并将所有换行符更改为“&”。它可以将其他x-www-form-urlencoded有效负载转换为纯文本/文本。我删除了我们的client_id和client_secret并将它们添加到基本身份验证中。我已经从正文中删除了所有特殊字符和空格,但仍然出现错误。

scope:openid 领域:雇主 auth_method:cleartrust auth_id_user_token:A + B / C / D == 随机数:cd identity_method:air response_type:id_token令牌 grant_type:密码

我改为

scope=openid&realm=employer&auth_method=cleartrust&auth_id_user_token=A+B/C/D==&nonce=cd&identity_method=air&response_type=id_token token&grant_type=password

纯文本/文本api调用应该获得成功的响应,并带回oAuth令牌。

1 个答案:

答案 0 :(得分:-1)

完全公开:我在支持部门的Tricentis工作。

Tosca的API引擎还可以处理url编码的有效负载。有关示例屏幕截图,请参见此手册页:https://support.tricentis.com/community/manuals_detail.do?lang=en&version=12.3.0&url=engines_3.0/api/api_create_url-encoded.htm

此外,请按照以下步骤操作:

  1. 技术视图标签中,打开右侧的“标题”窗格。在其中输入 Content-Type 标头参数,其值为 application / x-www-form-urlencoded
  2. Auth 标签中,选择 Basic Auth 作为方法,并使用 client_id 作为用户名和 client_secret 作为密码。勾选预身份验证复选框。
  3. 有效负载标签中,您可以输入Web服务所需的url编码的有效负载。由于您使用的是grant_type = password,因此有效负载必须至少包含字符串grant_type=password&username=someUsername&password=somePassword