乙個Restful Api的訪問控制方法

2021-06-28 21:17:26 字數 693 閱讀 7871

分類: 演算法研究

最近在做的兩個專案,都需要使用restful api,介面的安全性和訪問控制便成為乙個問題,看了一下別家的api訪問控制辦法。

1、api請求 url 的後面加上乙個accesstoken

2、http頭裡面加乙個欄位accesstoken=***

1、為每個應用頒發乙個賬號(user)和密碼(password),相當於(公鑰和私鑰)。

2、伺服器後台儲存該賬號和密碼(密文儲存 md5加密)

3、應用端在通過http請求該介面的時候,需要在http header 附帶下面幾個字段

該sign的生成演算法是這樣的

string sign = httpmethod(get/post)+ api_uri(api的訪問uri)+date(即上面的unix時間戳)+length(傳送body的資料長度)+password(後台頒發的密碼)

sign = md5(sign)

sign = user+":"+sign

4、後台伺服器在接收到請求後

1、比對http頭中的時間戳,比對伺服器時間,如果超過某個閾值,則拒絕訪問,同時返回請校準你的應用時間。

2、如果沒有超過時間閾值,則從sign中取出user然後在資料庫中查詢對應的password,然後同樣根據上面的sign生成演算法,來生成sign進行身份認證,認證成功則執行api,失敗則返回認證失敗。

關於RESTful API的個人乙個總結

第一次聽說restful api的時候還以為這是個api管理工具,後面才知道這就是乙個api準則,類似於法律準則和會計準則,以及python的pep8一樣,就是乙個命名規範,而不是告訴你具體怎麼命名。目前自己也還沒有深刻領悟restful的精髓,但是寫下自己的一些領悟,不斷更新迭代,也方便剛入門的同...

用python寫乙個restful API

coding utf 8 package.module python實現的圖書的乙個restful api.restful api 一般模式 get select 從伺服器取出資源 一項或多項 post create 在伺服器新建乙個資源。put update 在伺服器更新資源 客戶端提供改變後的完...

ZK ACL訪問的乙個小demo

zookeeper zk new zookeeper 192.168.1.188,192.168.1.189,192.168.1.190 50000,w arraylistacls new arraylist acl acl1 new acl zoodefs.perms.all,new id dig...