1. 程式人生 > >介面交互鑑權以及資料處理

介面交互鑑權以及資料處理

總言:一般只要是 2端(呼叫方和被呼叫方)分離的 ,無論是後端對後端 還是前端對後端  或者終端對後端  正常的介面都需要有個鑑權,資料加解的過程

     

1.身份識別符號

       1.1.token方式鑑權  token作為身份識別符號,     

            備註:一般程式會有登陸模組,或者身份認證模組 ,呼叫認證介面  介面提供方 向 呼叫方下發token  作為身份識別符號,後續需要鑑權介面帶上token,以此為憑證依據;token 有一定的生命週期(有效期) ,和具體的或者獨有的生成規則( token 生成有獨立的規則 可以帶上特殊因子

),憑證有效期的處理: 處理方式有 主動續期 或者被動 續期  或者限制 使用次數

  • 被動 續期 :呼叫方在呼叫介面時候, 介面自動延長使用時間    例如: 10點30分呼叫介面,token有效期會自動後延續30分鐘
  • 主動 續期  :介面提供方不自動處理憑證(token)續期,比如請求登陸介面時 介面下發的token 會限制有效期  或者 將有效期 連帶一起下發;呼叫方拿到token 和 有效期 ,然後    根據時間,在有效期內 呼叫提供的續期介面 ,介面提供方通過續期介面 如果續期介面產生的token發生變化事(續期下發的新token 可以 與之前 token一致也可以不一致),後端需要做兼 處理,保證新舊token在特定時間內同時有效。(如果程式設定了加密證書,當加密證書有更新時,同理需要提供更新介面,保證新舊並存時間)
  • 使用次數  :一般特殊介面 憑證只需要用到少量的次數或者只是單次使用,可以進行標識使用次數控制。

      1.2 固定id (key) 或者openid識別符號 作為身份識別符號號

           備註:固定標識比較長見 ,比如介面提供方為所有需要的呼叫方 每一個分配一個獨立的 識別符號號和 一個加密串

           介面提供方以特殊的方式將加密串提供給呼叫方;  例如 商定的key 為123,請求方將 請求的引數 進行特殊 組合之後與key進行混合 產生 sign ,介面提供方根據sign鑑權(比如 將請求引數 拼接成字串  加個key  MD5 或者sha1等  產生sign值介面提供方用同樣方式進行sign比對是否一致)

 

 2.資料的加密

       2.1key 或 證書

               一般會用到 類似 sha1   sha256  MD5      base64   aes  rsa    rsa256 等

  • 例子1:分配獨有的key  用設定的規則產生sign值進行校驗  
  • 例子2:分配獨有的key   用特定的方式對資料進行aes加密  保證請求的資料 除部分公開資料外返回的全部都是祕文或者二進位制資料,常用的方式是採用  pkcs 的規則 或者特殊的固定計算
  • 例子3:   產生公鑰私鑰       採用rsa 方式進行處理

       2.2 證書的型別

                一般常見的證書格式有  ca證書   pfx ,cer ,pem等。一般openssl各種格式都可以相互轉換,

                另外各個開發語言之間用到的格式可能會有差異