提问人:Athul Ram 提问时间:7/24/2023 最后编辑:Sandra RossiAthul Ram 更新时间:8/3/2023 访问量:158
应用程序可以从 Business Application Studio 访问外部 API,但不能从 Workzone Launchpad 访问外部 API
App can access external API from Business Application Studio but not from Workzone Launchpad
问:
我正在尝试通过Cloud Foundry中的目标调用Microsoft图形API令牌检索端点。当我通过 AJAX Post 从 Business Application Studio 中的应用程序进行调用时,请求工作正常,并且返回了持有者令牌。
当我在 Workzone 启动板中运行相同的请求时,相同的请求失败:
403 禁止
在从托管应用程序路由器中的应用程序路径获取请求后,我尝试将其传递给请求。这在外部 API 请求的情况下无效吗?X-Csrf-Token
如何获取此特定请求?X-csrf-Token
答:
0赞
ETZ
8/3/2023
#1
在 Workzone 启动板的上下文中,获取和传递 X-Csrf-Token 的过程可能与当前在 Business Application Studio 中执行的操作不同。X-Csrf-Token 用于防止跨站点请求伪造 (CSRF) 攻击,特定于 SAP 系统。
要在 Workzone 启动板中获取请求的 X-Csrf-Token,您需要对目标 URL 执行预检请求 (OPTIONS),服务器将在响应标头中使用 X-Csrf-Token 进行响应。然后,您可以从响应中提取令牌,并将其作为标头包含在后续的 AJAX POST 请求中。
下面是这些步骤的高级概述:
- 从 Workzone 启动板向 API 端点 URL 发出 OPTIONS 请求。
- 从响应标头中提取 X-Csrf-Token。
- 在对 Microsoft 图形 API 令牌检索终结点的后续 AJAX POST 请求中,将获取的令牌用作标头 (X-Csrf-Token)。
请记住处理在此过程中可能出现的任何身份验证或 CORS 相关问题。
注意:必须查看并理解正确处理 CSRF 令牌的安全隐患,以确保应用程序的安全性。
评论