如何在SAP PO中存储和检索OAUTH令牌?

2020-08-22 19:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

在这种情况下,我可能需要您的宝贵意见/建议:

"从WS客户端发送了新的访问令牌刷新令牌,SAP PO 使用发件人REST轮询每20分钟轮询一次(令牌每30分钟过期一次),然后 接收到的令牌需要存储

轮询输出类似:

{

" access_token ":" w05ssdc5-f441-492b-978f-82db88a21ccb2",

" refresh_token ":" 115s3dc5-f441-492b-978f-82db88a21ccb2",

"作用域":" givenName邮件随机数openid个人资料sn uid",

" token_type":"承载者",

" expires_in":1799

}

现在至关重要的是,我想将令牌存储在SAP PO中,然后检索以调用实际的业务接口。

这将帮助我避免进行多次API身份验证调用(也存在API限制)来运行实际的业务接口,而只需从查找表或某些属性或brm或任何属性中检索令牌即可。

通过值映射和NWA应用程序属性实现,但似乎在安全性和增量缓存问题方面存在局限性。 没有ECC或任何数据库系统甚至都无法进行查找。

期待更好的解决方案。 非常感谢!

此致

Rajesh PS

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

在这种情况下,我可能需要您的宝贵意见/建议:

"从WS客户端发送了新的访问令牌刷新令牌,SAP PO 使用发件人REST轮询每20分钟轮询一次(令牌每30分钟过期一次),然后 接收到的令牌需要存储

轮询输出类似:

{

" access_token ":" w05ssdc5-f441-492b-978f-82db88a21ccb2",

" refresh_token ":" 115s3dc5-f441-492b-978f-82db88a21ccb2",

"作用域":" givenName邮件随机数openid个人资料sn uid",

" token_type":"承载者",

" expires_in":1799

}

现在至关重要的是,我想将令牌存储在SAP PO中,然后检索以调用实际的业务接口。

这将帮助我避免进行多次API身份验证调用(也存在API限制)来运行实际的业务接口,而只需从查找表或某些属性或brm或任何属性中检索令牌即可。

通过值映射和NWA应用程序属性实现,但似乎在安全性和增量缓存问题方面存在局限性。 没有ECC或任何数据库系统甚至都无法进行查找。

期待更好的解决方案。 非常感谢!

此致

Rajesh PS

付费偷看设置
发送
12条回答
当学会了学习
1楼 · 2020-08-22 20:04.采纳回答

解决了在文件服务器,值映射,消息ID映射器自定义模块解决方案中成功保存令牌的问题。

最后得到了一个OAuth标准解决方案,该解决方案可以按预期运行,并且确实不错。 这是在SAP PO 7.4 SPS16补丁15中实现的。

https://blogs.sap.com/2020/02/29/oauth-2.0-standard-solution-with-grant- 在ap-po-7.5中输入密码为最新更新/comment-page-1/#comment-497164

d56caomao
2楼-- · 2020-08-22 19:55

嗨Rajesh,

我有一个类似的要求,请问您能否成功关闭它。

派大星 ヾ
3楼-- · 2020-08-22 20:02

您好,Rajesh,

虽然我知道您确实想限制API调用的数量,而且听起来也很合理,但是AAPIK oauth令牌调用不是由任何API提供程序计量的,但是如果您可以避免使用AFAIK oauth令牌调用,这是开销 刷新令牌。

SAP PO没有任何存储机制。 很遗憾,但这就是过去的样子。

您的选择是有限的,而我从未尝试过专门在PO rest适配器中使用刷新令牌,这在SAP CPI中是小菜一碟。

有一些基于Java的表可以在SAP PO中创建和修改,但是我怀疑系统管理员是否允许您访问以修改Java堆栈数据库。 至关重要。

最后,如果它真的不是破坏交易的行为,我建议您每次都获得一个新令牌,或者让渠道对其进行管理。

再次,我不是这里的专家,这就是为什么没有更早投入的原因,但是会有比我更好的答案可以帮助您。

尝试标记michael或eng swee。

致谢

Vinay

致谢

Vinay Mittal

Tong__Ming
4楼-- · 2020-08-22 20:04

感谢vinay的回复。

将检查是否还有其他选项。

CJones
5楼-- · 2020-08-22 19:55

嗨!

这似乎不是最好的方法,但是您可以将令牌保存到 文本/xml文件形式的PI Server文件系统,并在消息映射中使用UDF读取它。

Evgeniy。

huskylover
6楼-- · 2020-08-22 20:05
DafaDDDa
7楼-- · 2020-08-22 20:05

嗨Rajesh,

https://blogs.sap.com/2018/02/26/oauth-2.0-authentication-using-rest-pooling-value-mapping- change-list-web-services/comment-page-1/#comment-476209

尝试使用"值映射"保存令牌。

您是否需要访问令牌和刷新令牌? 如果您使用的是Rest Pooling,则可以每20-25分钟获得一个新的访问令牌。

谢谢

Ankit

一周热门 更多>