API 鑒權(quán)插件上線!用戶可自定義鑒權(quán)

2023-04-11 09:22 更新

0.4.0 版本更新主要圍繞這幾個(gè)方面:

  • 分組獨(dú)立的 UI,支持分組 API 鑒權(quán)
  • API 測(cè)試支持繼承 API 鑒權(quán)
  • 支持用戶自定義鑒權(quán)插件,僅需部分配置即可發(fā)布鑒權(quán)插件

開始介紹功能之前,我想先和大家分享一下鑒權(quán)功能設(shè)計(jì)的一些思考。


其實(shí)和大部分接口測(cè)試前要登錄類似,鑒權(quán)是身份驗(yàn)證的一種方式。在大多數(shù)情況下,鑒權(quán)信息一般是:

  1. 對(duì)大多數(shù) API 生效而不是僅某幾個(gè) API 需要鑒權(quán)
  2. 測(cè)試使用不需要顯示在文檔信息中,一般會(huì)有個(gè)說明文件全局說明此項(xiàng)目下的 API 使用什么鑒權(quán)

以下三種設(shè)計(jì)都可以滿足在測(cè)試前自動(dòng)鑒權(quán)的需求:

  • 鑒權(quán)信息配置在分組/項(xiàng)目中,內(nèi)部的 API 從父級(jí)繼承鑒權(quán)信息
  • 每個(gè) API 配置獨(dú)立的鑒權(quán)
  • 在環(huán)境中配置鑒權(quán)信息,選中后 API 引用環(huán)境信息鑒權(quán)




我們?nèi)绾闻袛嘁獙⑦@個(gè)功能放在哪里呢?我們先來分析分組和環(huán)境的使用范圍:

  • 分組:對(duì)一系列 API 生效,適合放置鑒權(quán)/登錄等一系列 API 都可能用到的前置條件,也可以設(shè)置公共的斷言(例如狀態(tài)碼等于 200)
  • 環(huán)境:靈活的全局變量用法,和 API 沒有強(qiáng)關(guān)聯(lián)關(guān)系,可以根據(jù)按不同用戶創(chuàng)建(例如 Scar 本地環(huán)境/Jack 本地環(huán)境),也可以按照不同的服務(wù)器環(huán)境創(chuàng)建,適合放一些和用戶相關(guān)聯(lián)的信息,例如每個(gè)測(cè)試人員可能都會(huì)使用自己的鑒權(quán)的賬號(hào)、密碼。

所以一系列 API 都能用到的公共配置框架,我們應(yīng)該放到項(xiàng)目/分組去實(shí)現(xiàn),同時(shí)通過環(huán)境來填寫配置變量數(shù)據(jù),這樣可以復(fù)用大家的設(shè)置,讓團(tuán)隊(duì)內(nèi)的 API 和測(cè)試數(shù)據(jù)更方便維護(hù)。


基于上面考慮,我們的鑒權(quán)支持在分組配置,我們繼續(xù)來看看如何使用~


選中相應(yīng)的分組-選中鑒權(quán),因?yàn)殍b權(quán)值涉及到敏感數(shù)據(jù),為了在協(xié)作環(huán)境中工作時(shí)保持此數(shù)據(jù)安全,我們建議使用全局變量。




添加環(huán)境,配置全局變量,添加后程序會(huì)自動(dòng)選中這個(gè)環(huán)境。




再次測(cè)試,可以看到鑒權(quán)已經(jīng)成功!



當(dāng)然啦,除了官方提供的 Basic、JWT ,其實(shí)還有很多其他鑒權(quán)方式例如 NTLM、微信簽名、AWS 簽名等等。




所以我們將鑒權(quán)功能設(shè)計(jì)成了可拓展的


?。±邕@就是官方的 Basic Auth 鑒權(quán)插件代碼,核心邏輯不到 30 行,非常簡(jiǎn)單易懂。




本月官方也計(jì)劃支持更多鑒權(quán)插件:

  • JWT
  • Bear Token
  • APIKey
  • OAuth 2.0

了解 Postcat:


Postcat

是一個(gè)強(qiáng)大的開源、跨平臺(tái)(Windows、Mac、Linux、Browsers...)的 API 開發(fā)測(cè)試工具,支持 REST、Websocket 等協(xié)議(即將支持 GraphQL、gRPC、TCP、UDP),幫助你加速完成 API 開發(fā)和測(cè)試工作。


Postcat 核心功能:

  1. API 文檔管理:可視化 API 設(shè)計(jì),生成 API 文檔
  2. API 測(cè)試:自動(dòng)生成測(cè)試參數(shù),自動(dòng)生成測(cè)試用例,可視化數(shù)據(jù)編輯
  3. 插件拓展:眾多插件擴(kuò)展產(chǎn)品功能,打造屬于你和團(tuán)隊(duì)的 API 開發(fā)平臺(tái)
  4. Mock:根據(jù)文檔自動(dòng)生成Mock,或創(chuàng)建自定義 Mock 滿足復(fù)雜場(chǎng)景
  5. 團(tuán)隊(duì)協(xié)作:既能實(shí)現(xiàn)API 分享也能可以創(chuàng)建云空間共同協(xié)作

Postcat 優(yōu)勢(shì):

  1. 免登錄即可測(cè)試:省去繁瑣的驗(yàn)證登錄的操作
  2. 界面簡(jiǎn)潔:沒有冗余的功能與復(fù)雜選項(xiàng)
  3. 免費(fèi):中小團(tuán)隊(duì)以及個(gè)人使用
  4. 豐富的插件:支持?jǐn)?shù)據(jù)遷移、主題、API 安全等高達(dá)22款插件
  5. 國(guó)產(chǎn):能更好的理解國(guó)內(nèi)用戶的需求,與開發(fā)團(tuán)隊(duì)溝通無障礙
  6. 完善的用戶文檔:跟著操作就能快速上手

多提 Issue !多反饋!


在使用過程中有任何疑問,可以進(jìn)群交流:




也可以在線提 Issue(強(qiáng)烈推薦這種開源的方式),提問題本身就已經(jīng)在貢獻(xiàn)社區(qū)了:


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






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


這個(gè)項(xiàng)目是開源的,如果你覺得這個(gè)項(xiàng)目還不錯(cuò)的話,不妨點(diǎn)個(gè) Star 支持一下!


Github :

https://github.com/Postcatlab/postcat


Gitee:

https://gitee.com/eolink_admin/postcat



以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)