rest - 如何将多种安全机制应用于 Swagger 生成的 REST 服务?
问题描述
我已经使用 Swagger 为 REST 服务生成了 JAX-RS 存根,并且想要设置安全性。
安全方面对我来说很新,我想尽可能使用标准。(过去,对于其他 J2EE 应用程序,我使用Filter
s 来处理将 User 对象放入 的 Authentication Session
。据我了解,Sessions
应该避免用于 REST。)
有 4 种类型的用户将访问服务
- 客户和业务合作伙伴(通过 oAuth 或类似方式进行身份验证)
- 员工(通过 NTLM 和 LDAP 进行身份验证)
- 开发人员(模拟身份验证/某种形式的授权)
- 集成测试(具有预定义用户和角色的 JUnit)
是否可以定义一个可以处理所有这些用户的安全机制?
我将如何使用 Swagger 安全指令?
我是否使这比需要的更复杂?
解决方案
你可以使用像 Tyk 这样的开源 API 网关吗?这是 tyk 文档中有关API 安全性的一些方便信息的链接。
这是一篇博客文章,描述了采用超越网关的API 安全分层方法。
披露:我为 Tyk 工作!
推荐阅读
- webpack - Webpack 5 {输出:chunkFilename} 不工作
- sql - 具有递归查询的数据库视图?
- javascript - react-input-files:尽管禁用了输入按钮,用户仍然可以上传文件
- jquery - jQuery - 在滚动时更改背景颜色
- html - 如何将 html 元素添加到数组 JSON、Typescript、Angular 中的值
- angular - 绑定到上下文属性的 matInput 与 i18n 提取冲突,但不是在常规服务上
- javascript - 尝试删除约束并更改列时出现 Knex 迁移错误
- kubernetes - 正确的 Kubernetes 迁移 YAML 格式
- android - 从 EditText 获取 Int 值的标准方法是什么?(Android Kotlin/Java)
- ios - 我可以在 iOS 上模拟 BLE 设备并设置其名称吗?(反应原生)