java - 如何为 API 测试创建 JSESSIONID
问题描述
我们有一个 JSP 应用程序,我们正在将其迁移到 Angular 和 Rest API。Rest API 检查 JSESSIONID 是否已在 cookie 中提供并且有效。
JSESSIONID 在登录时创建(当前是 JSP),稍后在 Angular 页面上使用此 cookie 进行 API 调用(有效)。
我正在编写 Node.js 测试(javascript)来直接调用 API 进行组件测试。API 需要 JSESSIONID 来验证调用。如何为 Node.js 测试创建 JSESSIONID?
解决方案
假设您没有为 API 层(例如OAuth 2.0 )实现额外的授权方法,那么只需调用应用程序的登录页面并保存JSESSIONID
从登录页面响应中获得的内容。
健全的安全准则规定JSESSIONID
应该在登录时重新生成并在注销时丢弃以防止会话攻击,例如会话劫持。除非您在测试期间禁用 API 中的授权,否则您应该在每个测试套件中至少完成一次登录过程。
推荐阅读
- aws-lambda - 在 Lambda 环境中执行 AWS CDK
- java - 为什么在数组中查找索引不起作用
- laravel - 动态路由怎么可能
- amazon-web-services - WAF 使用包含空格和单词 ON 的 POST 数据阻止 http 请求
- sharepoint-online - SharePoint API CAML 视图:即使有行限制,当我在 CAML 中包含查询时,我也会收到列表阈值错误
- java - 即使没有与PDFBox中的布局相关的属性(文档目录结构中的/ A),也获取标签的相关BBox?
- reactjs - 反应 onClick 事件在组件中不起作用
- angular - 找不到在 Angular 8 组件中返回对象数组的方法
- powershell - 用于检索第二个模式值的 Powershell 命令
- ios - 有时会出现错误,否则工作正常,如何确保消除错误?