乐趣区

关于开源软件:API-鉴权插件上线支持用自定义鉴权

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 平安等高达 25 款插件
  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

退出移动版