[發明專利]一種基于應用實現API網關獨立鑒權的方法在審
| 申請號: | 202110131013.2 | 申請日: | 2021-01-30 |
| 公開(公告)號: | CN112818325A | 公開(公告)日: | 2021-05-18 |
| 發明(設計)人: | 栗凱;張志強;張東海;高傳集;王剛 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | G06F21/44 | 分類號: | G06F21/44;G06F21/60;G06F21/62;G06F9/445 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 應用 實現 api 網關 獨立 方法 | ||
1.一種基于應用實現API網關獨立鑒權的方法,其特征在于:所述方法通過使用kong插件實現原生API訪問權限控制;
所述kong插件為APP鑒權插件;
所述方法的實現包括:
創建API,創建時選擇APP認證;
發布API,在發布時將所述APP鑒權插件配置寫入API網關;
API網關控制臺前端頁面根據用戶需要創建APP應用,作為用戶調用API的身份。
2.根據權利要求1所述的一種基于應用實現API網關獨立鑒權的方法,其特征在于,
所述kong插件通過Lua代碼實現,使用Redis作為緩存數據庫;
所述API網關提供前端簽名及驗簽功能;
當API網關控制臺前端頁面接收到用戶調用API時攜帶的認證信息,網關層執行APP認證邏輯:
如果簽名認證通過,則請求成功;
如果簽名認證失敗,則請求失敗。
3.根據權利要求2所述的一種基于應用實現API網關獨立鑒權的方法,其特征在于,所述APP應用包括一對AppKey和AppSecret密鑰對,其中:
AppKey:用于標識所使用的的是哪個密鑰對,參與簽名,在請求時作為參數在Header或Query中傳入;
AppSecret密鑰:用于簽名計算,用于計算請求簽名。
4.根據權利要求3所述的一種基于應用實現API網關獨立鑒權的方法,其特征在于,
所述AppKey和AppSecret密鑰對在API網關創建APP時由系統自動分配,并具備該APP的全部權限;
當API進行APP授權操作時,API網關控制臺后端會將所選擇的APP應用中有效的AppKey和AppSecret與API的路由名稱綁定關系,持久化保存并緩存到Redis中。
5.根據權利要求4所述的一種基于應用實現API網關獨立鑒權的方法,其特征在于,所述API網關的控制臺前端頁面可根據用戶需要創建多個APP應用,每個APP應用根據業務需求分別被不同的API授權。
6.根據權利要求2所述的一種基于應用實現API網關獨立鑒權的方法,其特征在于,所述簽名在一定時間內有效,過期需重新生成簽名。
7.根據權利要求4所述的一種基于應用實現API網關獨立鑒權的方法,其特征在于:所述方法實現流程包括:
所述APP應用被API授權后,用戶可使用app_key、app_secret和簽名SDK生成簽名秘鑰;
API網關控制臺接收到調用API指令時,將app_key和簽名放到請求header中;
API網關控制臺根據app_key去查詢對應的secret;
根據獲取到的app_key/app_secret計算簽名;
比對從請求header中獲取的簽名與API網關計算的簽名是否相等,如果相等,認證通過,否則認證失敗。
8.根據權利要求3所述的一種基于應用實現API網關獨立鑒權的方法,其特征在于:所述方法redis緩存的調用過程包括內容如下:
1)API網關控制臺從redis緩存中查找是否有需要的app信息,如果有就返回,否則進行下一步查找;
2)通過調用API管理后端提供的接口查找需要的app信息,如果查到結果,更新redis緩存;
3)如果通過后端接口沒有查到app信息,則更新redis緩存對應的key的一個空值,防止發起對后端的無效請求,同時設置一個較短的過期時間,防止如果后端數據更新后不生效。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110131013.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:流水線線圈自動收料設備
- 下一篇:一種失聯客戶信息修復方法及其系統





