如何保护SAPUI5 App中的OData API密钥?

2020-08-18 00:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨社区 我正在使用几个API,...

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

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


嗨社区

我正在使用几个API,这些API借助API密钥进行身份验证,该API密钥用于检索用于后续API查询(SuccessFactors LMS OData和SAP LiveLink)的令牌。 我可以请求令牌并通过SAPUI5应用程序中的ajax请求和在Cloud Platform中配置的目标进行查询。

我担心的是,这些密钥目前存储在SAPUI5应用程序中,并在检索令牌时作为标头附加到ajax请求。 我不希望以这种方式存储它们,因为据我所知,无法从客户端隐藏此信息。

我一直在研究一些想法,但是找不到任何可行的信息或文档来支持这些想法。

1。 我想知道是否可以将API密钥添加到Cloud Platform Cockpit中的目标,以便每次在SAPUI5应用程序中使用目标时都将它们作为标头自动发送。

2。 可以将其存储在neo-app.json文件中吗? 由于可以限制对此文件的访问。

或者只有一种真正的选择,那就是拥有用于检索API令牌的服务器端解决方案? 我宁愿避免减少加载时间和架构依赖性。

我希望有人以前曾经遇到过这个问题,并且可以分享一个好的解决方案:)

6条回答
路亽曱_Ryan
2020-08-18 01:15

嗨,格雷格,

感谢您向我指出。 你是对的。 这不是保护API密钥的方法。
实际上,没有任何方法可以保护基于JavaScript的应用程序中的API密钥。

保护API密钥的唯一方法是将其隐藏在另一个服务器端服务下。 客户端呼叫将始终对公众"可见"。 因此,它们不得包含任何敏感信息,例如密码或密钥-我的回答中也明确指出了这一点。

我想提醒我,我的真正建议是用OAuth替换API密钥-OAuth使用与API不同的身份验证方法-用户将自己向API提供程序提供身份验证,一旦成功,应用程序将检索临时密钥 令牌。

关于,
伊凡

一周热门 更多>