Bootstrap

SAP Fiori 应用里的 Cookie 处理机制

有朋友在我的知识星球里咨询这个问题,因此今天专门用图片推送说一说。

SAP 用户访问 Fiori 应用的入口一般是 Fiori Launchpad.

当我们在浏览器地址栏里输入 Fiori Launchpad url 然后回车,会有一个 HTTP 请求发向后台,请求 Fiori Launchpad 的页面代码。

Url 格式如下:

https://<主机名>:<端口号>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=001

这个 HTTP 请求的 HTTP Response Fields 里,会包含服务器端颁发给浏览器客户端的 Cookie 信息。

这些信息通过 Set-Cookie 字段的值来指定,如图2 所示。

Set-Cookie 用于指示浏览器创建或更新 Cookie.

当浏览器接收到这个响应后,会按照该指令来存储 Cookie. 存储的 Cookie 可以在 Chrome 开发者工具 Application 面板的 Cookies 区域查看,如图3 所示。

Set-Cookie 头通常包含 Cookie 的名称、值,以及其他用于控制 Cookie 行为的属性,比如 Expires(过期时间)、Max-Age(最大存活时间)、Domain(域)、Path(路径)、Secure(安全标志)和 HttpOnly(仅 HTTP 访问)。

这些 Cookie 之后会在同一域名下的请求中自动附加到请求头中,供服务器读取,进行身份认证。

比如图4 是 Fiori 应用向后台发起的另一个 HTTP 请求,在 Request Headers 区域,我们已经能看到,之前服务器端颁发的三个 Cookie 值,已经自动被添加进来了。

服务器端接到这个请求后,根据这些 Cookie 值,就能辨识当前用户身份了。

Postman 里同样可以使用其自带的 Cookie Manager,对 HTTP 请求的 Cookies 进行管理。

;