有朋友在我的知识星球里咨询这个问题,因此今天专门用图片推送说一说。
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 进行管理。