ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何使用 SAP API Portal Policy Editor 给 SAP API 调用自动添加认证信息

2021-07-08 11:53:20  阅读:166  来源: 互联网

标签:策略 编辑器 API Portal Policies Policy SAP


打开 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的原创文章,尽在:“汪子熙”:

标签:策略,编辑器,API,Portal,Policies,Policy,SAP
来源: https://blog.51cto.com/jerrywangsap/3011552

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有