SAP 电商云 Spartacus UI 的 CORS 设置

简介: SAP 电商云 Spartacus UI 的 CORS 设置

CORS 是 Web 上的一种标准机制,它使来自 Web 应用程序的跨域请求能够到达不同域上的服务器。 cross original 请求也可以被认为是 cross domain 请求。 只要响应中没有所需的 HTTP 标头,浏览器就会阻止跨域请求。


响应标头由服务器指定,这就是为什么必须设置服务器以生成正确的标头。 在 SAP Commerce Cloud 后端,可以使用 CorsFilter 以通用方式配置这些标头。 Project properties 可用于为每个节点配置此项,或者 ImpEx 安装脚本可用于安装到每个节点。


匿名同意功能需要 x-anonymous-consents 标头。 如果不使用匿名同意,则可以省略此配置。 但是,需要注意的是,如果您不包含此标头,则必须禁用匿名同意功能。 否则,您可能会遇到店面无法正常显示的问题。


allowCredentials

请求凭证与 cookie、授权标头或 TLS 客户端证书有关。这些默认情况下不允许在跨域请求中使用,这就是在未应用配置时请求被阻止的原因。


Spartacus 没有在 Spartacus 库的 1.x 版本中发送 cookie,但从 2.0 版本开始,将为每个 OCC 请求发送 cookie。这也已修补到 Spartacus 库的 1.4 和 1.5 版本。


需要发送 cookie 以获得 session affinity,也称为 sticky sessions. sticky sessions 意味着 API 端点后面的同一台服务器用于同一会话的所有后续请求。尽管 Commerce API 是无状态的,但有时多个并行或顺序调用可能会失败。例如,“添加到购物车”请求后跟“加载购物车”请求可能会失败,因为第一个请求可能会在服务器 1 上结束,而紧随其后的第二个请求可能会在服务器 2 上结束。服务器可能不足以快速发送缓存失效,这就是第二个响应可能无法捕获添加的项目的原因。


sticky sessions 的另一个优点是,如果同一会话的请求由同一台服务器提供服务,则后端将获得性能改进。


出于这个原因,CCv2 公开了一个响应 cookie (ROUTE),它指示用于处理 API 请求的处理服务器。每当客户端将此 cookie 添加到下一个请求中时,该请求都由同一服务器处理。


在部署期间使用配置属性 - configuration properties 安装它们

在部署期间使用 Commerce Cloud nanifest 文件安装它们

使用 ImpEx 脚本在运行时安装它们

使用 Backoffice 在运行时手动配置它们

注意

OCC 由名为 commercewebservices 的模板扩展安装。 但是,可以重命名扩展 Web 应用程序路径,或从中生成自定义扩展。 在下一部分的示例中,我们假设名称为 commercewebservices,但如果有自定义名称,则应替换它。


大多数配置仅适用于 OCC,但如果您使用其他 API(例如 Assisted Service Module),还需要为这些 API 配置 CORS。


如果使用的是 SAP Commerce Cloud 版本 1905 或更早版本,则必须使用 ycommercewebservices(或自定义扩展名)而不是 commercewebservices。 如果使用的是 SAP Commerce Cloud 2005 或更高版本,则可以选择使用 commercewebservices 或 ycommercewebservices,但默认为 commercewebservices,由 cx 配方定义。

2b8342b5658ca2f83169f72742871708.png


相关文章
|
1月前
|
安全 开发者
什么是 SAP ABAP 调试器里的 TRFC Block Sending 设置
什么是 SAP ABAP 调试器里的 TRFC Block Sending 设置
22 0
|
1月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
31 0
|
1月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
21 0
|
1月前
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
20 0
|
24天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
16 1
什么是 SAP ABAP 里的 Subscreen
|
24天前
|
网络架构 开发者 UED
Spartacus 2211 的 provideOutlet 方法扩展 UI
Spartacus 2211 的 provideOutlet 方法扩展 UI
10 0
Spartacus 2211 的 provideOutlet 方法扩展 UI
|
2月前
|
JSON 数据格式
SAP UI5 Class sap.ui.model.Context 的作用介绍
SAP UI5 Class sap.ui.model.Context 的作用介绍
30 0
|
2月前
|
中间件
SAP UI5 Tooling 实战:动手创建自己的 Custom UI5 Server Middleware 试读版
SAP UI5 Tooling 实战:动手创建自己的 Custom UI5 Server Middleware 试读版
18 0
SAP UI5 Tooling 实战:动手创建自己的 Custom UI5 Server Middleware 试读版
|
2月前
|
前端开发
问题解答:SAP UI5 应用设置禁止被其他应用嵌入运行的工作原理解析试读版
问题解答:SAP UI5 应用设置禁止被其他应用嵌入运行的工作原理解析试读版
113 0
|
3月前
|
Web App开发 开发框架 运维
一份最近国内外 SAP 从业者在技术交流群里讨论的记录分享:为什么选 UI5 而不选 React
一份最近国内外 SAP 从业者在技术交流群里讨论的记录分享:为什么选 UI5 而不选 React
31 0

热门文章

最新文章