<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          HTTP SignRESTful API 簽名認證框架

          聯(lián)合創(chuàng)作 · 2023-09-19 07:27

          HTTP Sign 是一個RESTful API 簽名認證項目。
          該項目將解決HTTP通信中的如下問題:

          • 防止重放攻擊

          • 防止中途篡改數(shù)據(jù)

          • 保證請求服務冪等

          從而,盡可能地讓 HTTP 通信接近安全。

          HTTP Sign 的設計

          字面約定

          字面格式 含義
          < > 變量
          [ ] 可選項
          { } 必選項
          | 互斥關系
          標點符號 本文一律采用英文標點符號

          請求參數(shù)名,命名規(guī)則

          1. 首字母小寫,如果名稱由多個單詞組成,每個單詞的首字母要大寫

          2. 英文縮寫詞一律小寫

          3. 只能由 [A~Z]、[a~z]、[0~9] 以及字符"-"、"_"、"." 組成參數(shù)名

          4. 不能以數(shù)字開頭

          5. 不允許出現(xiàn)中文及拼音命名

          術語表

          術語 全稱 中文 說明
          RS RESTful Web Services WEB REST服務 REST 架構風格的Web服務
          SecurityGroup Security Group 安全組 安全組制定安全策略
          GMT Greenwich Mean Time 格林尼治標準時間 指位于英國倫敦郊區(qū)的皇家格林尼治天文臺的標準時間
          URIPath Uniform Resource Identifier Path 統(tǒng)一資源標識符的路徑 用于標識某一互聯(lián)網(wǎng)資源路徑
          RFC Request For Comments 一系列以編號排定的文件 幾乎所有的互聯(lián)網(wǎng)標準都有收錄在RFC文件之中

          相關名詞解釋

          1. 字典升序排列
            如同在字典中排列單詞一樣排序,按照字母表遞增順序排列,參與比較的兩個單詞,若它們的第一個字母相同,就比較第二個字母,依此類推.
            例如: zhong zhang zheng zhen, 做字典升序排列后的結果是 zhang zhen zheng zhong.

          2. 冪等性
            接口在設計上可以被完全相同的URL重復調(diào)用多次,而最終得到的結果是一致的.

          使用限制

          請求端的當前時間與服務器的當前時間之差的絕對值不能大于10分鐘,否則拒絕處理. 也就是說,請求端的時間不能比服務器時間快10分鐘或慢10分鐘,否則,服務器不受理.

          請求結構

          1. 服務地址
            接口按照功能劃分成了不同的功能模塊,每個模塊使用不同的域名或上下文訪問,具體域名或上下文請參考各個接口的文檔.

          2. 通信協(xié)議
            所有接口均采用HTTPS通信.

          3. 請求方法
            支持 [GET,POST,PUT,DELETE,PATCH,HEAD,OPTIONS].

          4. 字符編碼
            在無特別說明情況下,均使用UTF-8編碼.

          5. API請求結構

            名稱 描述 備注
            API入口 API調(diào)用的RS服務的入口 https://<domain>/path/hi
            公共header 每個接口都包含的通用請求頭 詳見 公共參數(shù)
            公共參數(shù) 每個接口都包含的通用參數(shù) 詳見 公共參數(shù)

          公共參數(shù)

          公共請求頭(Common Request Headers)

          名稱 是否必選 描述
          Authorization 用于驗證請求合法性的認證信息
          Accept 默認:"application/json",表示發(fā)送端(客戶端)希望從服務端接受到的數(shù)據(jù)類型
          Content-Length RFC2616中定義的HTTP請求內(nèi)容長度(一般的http客戶端工具都會自動帶上這個請求頭)
          Date HTTP 1.1協(xié)議中規(guī)定的GMT時間,例如:Wed, 28 Mar 2018 09:09:19 GMT
          Host 訪問Host值(一般的http客戶端工具都會自動帶上這個請求頭)

          公共請求參數(shù)(Common Http Request Parameters)

          名稱 是否必選 類型 描述
          version String API 版本號,當前值為1
          action String 接口的指令名稱,如:action=myInfo
          nonce String 隨機數(shù),長度范圍[8,36]
          accessKeyId String 在云API密鑰上申請的標識身份的 accessKeyId,一個 accessKeyId 對應唯一的 accessKeySecret , 而 accessKeySecret 會用來生成請求簽名 Signature
          signatureMethod String 簽名算法,目前支持HMACSHA256和HMACSHA1.默認采用:HMACSHA1驗證簽名
          token String 臨時證書所用的Token,需要結合臨時密鑰一起使用

          服務端將從 QueryString 獲得這些參數(shù)。

          簽名機制

          用戶在HTTP請求中增加Authorization的Header來包含簽名(Signature)信息,表明這個消息已被簽名,認證是否通過,服務端說了算。

          瀏覽 25
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青娱乐亚洲领 | 国内爱爱视频 | 免费无码婬片AAAA片在线蜜芽 | 黄色成年久久 | 国产一级电影在线播放 |