阅读(2173) (0)

API 鉴权插件上线!用户可自定义鉴权

2023-04-06 11:18:00 更新

0.4.0 版本更新主要围绕这几个方面:

  • 分组独立的 UI,支持分组 API 鉴权
  • API 测试支持继承 API 鉴权
  • 支持用户自定义鉴权插件,仅需部分配置即可发布鉴权插件

开始介绍功能之前,我想先和大家分享一下鉴权功能设计的一些思考。


其实和大部分接口测试前要登录类似,鉴权是身份验证的一种方式。在大多数情况下,鉴权信息一般是:

  1. 对大多数 API 生效而不是仅某几个 API 需要鉴权
  2. 测试使用不需要显示在文档信息中,一般会有个说明文件全局说明此项目下的 API 使用什么鉴权

以下三种设计都可以满足在测试前自动鉴权的需求:

  • 鉴权信息配置在分组/项目中,内部的 API 从父级继承鉴权信息
  • 每个 API 配置独立的鉴权
  • 在环境中配置鉴权信息,选中后 API 引用环境信息鉴权




我们如何判断要将这个功能放在哪里呢?我们先来分析分组和环境的使用范围:

  • 分组:对一系列 API 生效,适合放置鉴权/登录等一系列 API 都可能用到的前置条件,也可以设置公共的断言(例如状态码等于 200)
  • 环境:灵活的全局变量用法,和 API 没有强关联关系,可以根据按不同用户创建(例如 Scar 本地环境/Jack 本地环境),也可以按照不同的服务器环境创建,适合放一些和用户相关联的信息,例如每个测试人员可能都会使用自己的鉴权的账号、密码。

所以一系列 API 都能用到的公共配置框架,我们应该放到项目/分组去实现,同时通过环境来填写配置变量数据,这样可以复用大家的设置,让团队内的 API 和测试数据更方便维护。


基于上面考虑,我们的鉴权支持在分组配置,我们继续来看看如何使用~


选中相应的分组-选中鉴权,因为鉴权值涉及到敏感数据,为了在协作环境中工作时保持此数据安全,我们建议使用全局变量。




添加环境,配置全局变量,添加后程序会自动选中这个环境。




再次测试,可以看到鉴权已经成功!



当然啦,除了官方提供的 Basic、JWT ,其实还有很多其他鉴权方式例如 NTLM、微信签名、AWS 签名等等。




所以我们将鉴权功能设计成了可拓展的


!!例如这就是官方的 Basic Auth 鉴权插件代码,核心逻辑不到 30 行,非常简单易懂。




本月官方也计划支持更多鉴权插件:

  • JWT
  • Bear Token
  • APIKey
  • OAuth 2.0

了解 Postcat:


Postcat

是一个强大的开源、跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,支持 REST、Websocket 等协议(即将支持 GraphQL、gRPC、TCP、UDP),帮助你加速完成 API 开发和测试工作。


Postcat 核心功能:

  1. API 文档管理:可视化 API 设计,生成 API 文档
  2. API 测试:自动生成测试参数,自动生成测试用例,可视化数据编辑
  3. 插件拓展:众多插件扩展产品功能,打造属于你和团队的 API 开发平台
  4. Mock:根据文档自动生成Mock,或创建自定义 Mock 满足复杂场景
  5. 团队协作:既能实现API 分享也能可以创建云空间共同协作

Postcat 优势:

  1. 免登录即可测试:省去繁琐的验证登录的操作
  2. 界面简洁:没有冗余的功能与复杂选项
  3. 免费:中小团队以及个人使用
  4. 丰富的插件:支持数据迁移、主题、API 安全等高达22款插件
  5. 国产:能更好的理解国内用户的需求,与开发团队沟通无障碍
  6. 完善的用户文档:跟着操作就能快速上手

多提 Issue !多反馈!


在使用过程中有任何疑问,可以进群交流:




也可以在线提 Issue(强烈推荐这种开源的方式),提问题本身就已经在贡献社区了:


https://github.com/Postcatlab/postcat/issues






如果喜欢,不妨Star 支持一下


这个项目是开源的,如果你觉得这个项目还不错的话,不妨点个 Star 支持一下!


Github :

https://github.com/Postcatlab/postcat


Gitee:

https://gitee.com/eolink_admin/postcat