乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      設(shè)計適配多端的API接口及JWT在token驗證中的應(yīng)用

       huowufenghuang 2019-01-07
      t隨著移動互聯(lián)網(wǎng)業(yè)務(wù)的興起與發(fā)展,對我們的系統(tǒng)提出了更高的要求:需要我們的系統(tǒng)適配不同端(PC,Android,IOS)的資源請求。

      而這也是現(xiàn)在技術(shù)更新的一個趨勢:前后端徹底分離的要求,nodejs的出現(xiàn)使得先后端分離的更徹底,傳統(tǒng)意義的后臺server只需要提供接口數(shù)據(jù)給前臺browser

      前臺browser利用各種前臺mvvm框架實現(xiàn)其紛繁復(fù)雜的各種個性化效果,這樣使得前后臺只能劃分更明確,開發(fā)效率更高,實現(xiàn)更好的前后臺工程化管理。

      目前大多采用RESTful的規(guī)范作為借口設(shè)計的指南,該規(guī)范最大的特點就是:無狀態(tài),使用uri標識資源。關(guān)于RESTful API的相關(guān)知識推薦一個好資源:RESTful架構(gòu)風(fēng)格概述

      做過微信開發(fā)的都知道,微信支付的時候首先要請求一個接口返回access_token和expires_in,這樣做的目的是為了做用戶校驗,保證安全性。

      如果我們自己要開發(fā)一套多端適配的RESTful API我們怎么去設(shè)計呢?這個問題一直在困擾我,如何保證安全性,我的RESTful API雖是無狀態(tài)請求,但是不能安全暴露在互聯(lián)網(wǎng)中,這樣一來安全性沒有保障(惡意數(shù)據(jù)注入,刪除等),二來如何識別非我方接入系統(tǒng)的請求并拒絕(占用帶寬)

      這就需要一套用戶校驗和認證的功能,悉知目前有幾種流行的解決方案:OAuth2和JWT(JSON Web Token)

      今天主要看JWT:

      JWT 的原理是這樣的:客戶端使用客戶名和密碼去請求服務(wù)端的時候,服務(wù)端返回一個JSON Web Token,客戶端根據(jù)自己端的情況可以保存在cookie或則localstorage中,當(dāng)客戶端要請求資源uri的時候就在頭部帶上這個JSON Web Token,一般是在 header 的 Authorization 使用 Bearer 的形式,一個包含的 JWT 的請求頭的 Authorization 如下:Authorization: Bearer <token>

       

      這樣的API就完美解決了跨域問題,一般在服務(wù)端使用redis來管理我們的JSON Web Token,具體實現(xiàn)是:使用redis來保存Token和UUID(用戶唯一標示)的key-value鍵值對,程序中設(shè)置管理token的失效。具體的實現(xiàn)參考:RESTful登陸設(shè)計(基于Spring及Redis的Token鑒權(quán))

       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多