关于api:如何使用-SAP-API-Portal-Policy-Editor-给-SAP-API-调用自动添加认证信息

45次阅读

共计 1386 个字符,预计需要花费 4 分钟才能阅读完成。

关上 API portal,找到要编辑的 API,点击关上,进入明细页面:

点击 Policies:

在策略编辑器的右侧,您能够看到开箱即用的策略,可帮忙您为您的用例抉择策略。所有安全策略都分组在平安下,相似的流量管理策略、中介策略和扩大策略也相应地分组。

策略编辑器的左侧有 Flows,PreFlow 和 PostFlow 位于代理端点和指标端点下。

右边选中 PreFlow, 左边抉择 Mediation Policies -> Assign Message,

在 Create Policy 面板里,Stream 抉择成 Incoming Request:

增加好的 Policy 在 Policy 里显示如下图所示:

进入 source code 源代码编辑器:

复制如下内容:

<AssignMessage async="false" continueOnError="false" enabled="true" xmlns='http://www.sap.com/apimgmt'>
<Add>
<Headers>
    <Header name="apikey">e9ZLBOfIplCOnibykWXsAfkMUexchhHN</Header>
    <Header name="Accept-Encoding">gzip,deflate</Header>
   </Headers>
</Add>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<AssignTo createNew="false" type="request"></AssignTo>
</AssignMessage>

您必须用之前复制的 API 密钥替换标记的文本。

此代码将使 SAP API 治理将所需的 API 密钥值增加到发送到 API 核心的每个申请,并承受用于为消费者无效传输数据的压缩格局。

同理,给 A_SalesOrder flow,增加一个 Mediation Policies 上面的 Assign Message:

<!-- This policy can be used to create or modify the standard HTTP request and response messages -->
<AssignMessage async="false" continueOnError="false" enabled="true" xmlns='http://www.sap.com/apimgmt'>

     <!-- Sets a new value to the existing parameter -->
     <Add>
<QueryParams>
    <QueryParam name="$top">3</QueryParam>
</QueryParams>
</Add>

     <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
     <AssignTo createNew="false" type="request"></AssignTo> </AssignMessage>

这将限度 S/4HANA 返回的字段数。

保留 Policy 之后,间接点击部署胜利后的 API proxy url:

就能间接应用 policy 里编辑的 API key,拜访到 S/4HANA cloud Sales Order API,而不必输出用户名和明码了:

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0