成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

API網(wǎng)關(guān)設(shè)計(jì)(一)之Token多平臺(tái)身份認(rèn)證方案

leon / 3384人閱讀

摘要:網(wǎng)關(guān)設(shè)計(jì)一之多平臺(tái)身份認(rèn)證方案隨著的發(fā)展現(xiàn)如今早已不是當(dāng)年的登陸單一模式,而不久的到來(lái)又會(huì)帶來(lái)無(wú)人車(chē)等其他設(shè)備的接入。所以為了應(yīng)對(duì)將來(lái)的時(shí)代的變化,一個(gè)好的多平臺(tái)認(rèn)證登陸方案是切實(shí)所需。

API網(wǎng)關(guān)設(shè)計(jì)(一)之Token多平臺(tái)身份認(rèn)證方案
隨著4g的發(fā)展現(xiàn)如今早已不是當(dāng)年的web登陸單一模式,而不久5g的到來(lái)又會(huì)帶來(lái)無(wú)人車(chē)等其他設(shè)備的接入。所以為了應(yīng)對(duì)將來(lái)的時(shí)代的變化,一個(gè)好的多平臺(tái)認(rèn)證登陸方案是切實(shí)所需。
概述

今天咱們面對(duì)移動(dòng)互聯(lián)網(wǎng)的發(fā)展,系統(tǒng)一般是多個(gè)客戶端對(duì)應(yīng)一個(gè)服務(wù)端。
客戶端統(tǒng)一通過(guò)F5或者Nginx代理轉(zhuǎn)發(fā)到API網(wǎng)關(guān),最后發(fā)送到服務(wù)API。
如下圖架構(gòu)圖所示

這個(gè)過(guò)程當(dāng)中就存在多個(gè)很明顯需要做的事,如下列表

身份認(rèn)證(登陸以及會(huì)話級(jí)用戶認(rèn)證)

權(quán)限認(rèn)證(當(dāng)然是認(rèn)證用戶身份之后,確認(rèn)是否有權(quán)限調(diào)用API)

調(diào)用頻率控制(限流算法如計(jì)數(shù),滑動(dòng)窗口,漏桶,令牌桶)

負(fù)載算法(如權(quán)重,均衡,例外再比如灰度發(fā)布都是同一個(gè)思路)

而咱們今天主要講的了就是身份認(rèn)證這一塊具體怎么設(shè)計(jì)Token,在前一篇文章中已經(jīng)描述過(guò)整體的登陸邏輯,不清楚的同學(xué)可以看一下。

Token設(shè)計(jì)

如今的系統(tǒng)不可能存在一個(gè)token走到底打通所有系統(tǒng),為啥這么說(shuō)?
由于不同的客戶端,會(huì)存在不同的認(rèn)證場(chǎng)景。
咱們具體看一下分析過(guò)程

認(rèn)證場(chǎng)景

客戶端以下幾點(diǎn)用戶認(rèn)證的場(chǎng)景

移動(dòng)端登陸,會(huì)話API調(diào)用

web端登陸,會(huì)話API調(diào)用

移動(dòng)端掃碼登陸web(如微信掃碼)

移動(dòng)端授權(quán)登陸(如微信授權(quán))

而通過(guò)客戶端的認(rèn)證場(chǎng)景,咱們又能具體推理出功能級(jí)別的具體場(chǎng)景如下

客戶端記住用戶密碼免登陸認(rèn)證

API調(diào)用的會(huì)話級(jí)別認(rèn)證

移動(dòng)端已登陸授權(quán)web端免密登陸

Token設(shè)計(jì)要點(diǎn)

通過(guò)上面的認(rèn)證場(chǎng)景才能不難得出如下結(jié)論

多層級(jí)Token

Token之間可向下授權(quán)

Token使用頻率

Token失效時(shí)間

級(jí)別劃分 1~3 分別為低中高

Token 名稱(chēng) 級(jí)別 使用頻率 有效期 保密級(jí)別 變化成本
webtoken web端token 3(持久化) 1 >=1天 3 3
mobiletoken mobile端token 3(持久化) 1 >=1天 3 3
sessiontoken 會(huì)話token 2(會(huì)話級(jí)) 3 分鐘級(jí)別 3 1
accesstoken API認(rèn)證token 1(短暫認(rèn)證) 3 秒級(jí) 2 1

再具體看一張token層級(jí)架構(gòu)圖

為啥要將token分這么多類(lèi)型了?
咱們先根據(jù)上圖捋一下思路具體如下幾步

用戶名和密碼認(rèn)證獲取webtoken或者mobiletoken

用戶登原先存在webtoken或mobiletoken可以拿到sessiontoken

通過(guò)sessiontoken可以去拿去短暫的accesstoken

通過(guò)accesstoken可以調(diào)用API

層級(jí)token優(yōu)勢(shì)

通過(guò)上面咱們可以看出來(lái)最終調(diào)用api是通過(guò)accesstoken,那么咱們?yōu)槭裁催€需要設(shè)計(jì)
多層token了?主要有以下幾個(gè)原因

不同的客戶端對(duì)于免登陸的要求是不一樣的,比如web端輸入一個(gè)用戶名密碼或者通過(guò)手機(jī)接受一個(gè)驗(yàn)證碼是很方便的事情,所以token時(shí)間不會(huì)存放特別長(zhǎng)。但是對(duì)于移動(dòng)端來(lái)說(shuō),對(duì)于用戶體驗(yàn)比較好的情況就是隨時(shí)隨刻都是登陸狀態(tài),輸入一次密碼最好能用個(gè)大半年。

安全性考慮這一點(diǎn)是由于第點(diǎn)的原因?qū)е拢捎趙ebtoken或者mobiletoken存儲(chǔ)在客戶端的時(shí)間較長(zhǎng)。如果調(diào)用頻率很高,及其容易導(dǎo)致被抓包獲取到黑客手中。因此引入了會(huì)話級(jí)別token通過(guò)持久化在客戶端的mobiletoken等去獲取。會(huì)話token的特點(diǎn)就是調(diào)用頻率高,失效時(shí)間快,就算被被人拿到了不會(huì)造成奔潰式的問(wèn)題出現(xiàn)。

統(tǒng)一后臺(tái)api調(diào)用控制,accesstoken的存在是真正調(diào)用api的token,也是通過(guò)sessiontoken獲取。為了不同客戶端統(tǒng)一接入api實(shí)現(xiàn),如果acesstoken不統(tǒng)一。那代碼層面實(shí)現(xiàn)又全部耦合到了一起,如果是統(tǒng)一的就可以將代碼抽出來(lái)一個(gè)層級(jí)放在網(wǎng)關(guān)統(tǒng)一實(shí)現(xiàn)。

綜合上面可以總結(jié)出來(lái)的優(yōu)勢(shì)有如下幾點(diǎn)

解耦系統(tǒng) (accesstoken網(wǎng)關(guān)之后的系統(tǒng)可以任意部署)

提高系統(tǒng)擴(kuò)展性(可以接入不同性質(zhì)的客戶端)

層級(jí)清楚便于維護(hù)(token分層代碼,便于獨(dú)立維護(hù))

token安全控制

首先咱們得明白一個(gè)道理對(duì)于任何登陸系統(tǒng)來(lái)說(shuō)根本就不存在百分百的安全,唯一可以做到的就是提高破解成本。具體的安全控制方法我的總結(jié)如下

使用https哪怕被抓包看到的也是加密數(shù)據(jù),除非客戶端和服務(wù)端都被黑了。這尼瑪這人這么優(yōu)秀,干點(diǎn)啥不好。。。

根據(jù)業(yè)務(wù)要求設(shè)置不同token失效時(shí)間,token失效時(shí)間越短越安全,用戶體驗(yàn)也會(huì)有所下滑

token可以根據(jù)動(dòng)態(tài)加密算法以及密碼定時(shí)更新,然后通過(guò)cookie打回客戶端

移動(dòng)端可以獲取設(shè)備id以及ip,當(dāng)短時(shí)間內(nèi)出現(xiàn)同一賬號(hào)不同設(shè)備請(qǐng)求,及時(shí)失效所有token,或者發(fā)出告警短信給用戶,權(quán)限級(jí)別較高的操作禁用。

移動(dòng)端加入人臉或者指紋識(shí)別

完整架構(gòu)圖

歡迎掃碼關(guān)注公眾號(hào)繼續(xù)討論

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/73726.html

相關(guān)文章

  • 論微服務(wù)安全

    摘要:微服務(wù)能夠?yàn)閼?yīng)用程序設(shè)計(jì)提供一種更具針對(duì)性范圍性與模塊性的實(shí)現(xiàn)方案。安全微服務(wù)部署模式可謂多種多樣但其中使用最為廣泛的當(dāng)數(shù)每主機(jī)服務(wù)模式。在微服務(wù)環(huán)境下,安全性往往成為最大的挑戰(zhàn)。不同微服務(wù)之間可通過(guò)多種方式建立受信關(guān)系。 每個(gè)人都在討論微服務(wù),每個(gè)人也都希望能夠?qū)崿F(xiàn)微服務(wù)架構(gòu),而微服務(wù)安全也日漸成為大家關(guān)注的重要問(wèn)題。今天小數(shù)與大家分享的文章,就從應(yīng)用層面深入探討了應(yīng)對(duì)微服務(wù)安全挑戰(zhàn)...

    plokmju88 評(píng)論0 收藏0
  • 架構(gòu)~微服務(wù)

    摘要:接下來(lái)繼續(xù)介紹三種架構(gòu)模式,分別是查詢分離模式微服務(wù)模式多級(jí)緩存模式。分布式應(yīng)用程序可以基于實(shí)現(xiàn)諸如數(shù)據(jù)發(fā)布訂閱負(fù)載均衡命名服務(wù)分布式協(xié)調(diào)通知集群管理選舉分布式鎖和分布式隊(duì)列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡(jiǎn)單的 SpringCloud 教程 | 第九篇: 服務(wù)鏈路追蹤 (Spring Cloud Sleuth) 史上最簡(jiǎn)單的 S...

    xinhaip 評(píng)論0 收藏0
  • 微服務(wù)實(shí)戰(zhàn):從架構(gòu)到發(fā)布(二)

    摘要:微服務(wù)架構(gòu)著重培養(yǎng)通用可重用的服務(wù)。服務(wù)注冊(cè)和發(fā)現(xiàn)微服務(wù)架構(gòu)下,有大量的微服務(wù)需要處理。網(wǎng)關(guān)也是獲得微服務(wù)狀態(tài)監(jiān)控信息的中心。實(shí)際情況是,微服務(wù)和其它企業(yè)架構(gòu)并存。 引言:上篇文章介紹了微服務(wù)和單體架構(gòu)的區(qū)別、微服務(wù)的設(shè)計(jì)、消息、服務(wù)間通信、數(shù)據(jù)去中心化,本篇會(huì)繼續(xù)深入微服務(wù),介紹其它特性。 治理去中心化 通常治理的意思是構(gòu)建方案,并且迫使人們通過(guò)努力達(dá)到組織的目標(biāo)。SOA治理指導(dǎo)開(kāi)發(fā)...

    JinB 評(píng)論0 收藏0
  • 微服務(wù)實(shí)戰(zhàn):從架構(gòu)到發(fā)布(二)

    摘要:微服務(wù)架構(gòu)著重培養(yǎng)通用可重用的服務(wù)。服務(wù)注冊(cè)和發(fā)現(xiàn)微服務(wù)架構(gòu)下,有大量的微服務(wù)需要處理。網(wǎng)關(guān)也是獲得微服務(wù)狀態(tài)監(jiān)控信息的中心。實(shí)際情況是,微服務(wù)和其它企業(yè)架構(gòu)并存。 引言:上篇文章介紹了微服務(wù)和單體架構(gòu)的區(qū)別、微服務(wù)的設(shè)計(jì)、消息、服務(wù)間通信、數(shù)據(jù)去中心化,本篇會(huì)繼續(xù)深入微服務(wù),介紹其它特性。 治理去中心化 通常治理的意思是構(gòu)建方案,并且迫使人們通過(guò)努力達(dá)到組織的目標(biāo)。SOA治理指導(dǎo)開(kāi)發(fā)...

    zhaot 評(píng)論0 收藏0
  • 微服務(wù)實(shí)戰(zhàn):從架構(gòu)到發(fā)布(二)

    摘要:微服務(wù)架構(gòu)著重培養(yǎng)通用可重用的服務(wù)。服務(wù)注冊(cè)和發(fā)現(xiàn)微服務(wù)架構(gòu)下,有大量的微服務(wù)需要處理。網(wǎng)關(guān)也是獲得微服務(wù)狀態(tài)監(jiān)控信息的中心。實(shí)際情況是,微服務(wù)和其它企業(yè)架構(gòu)并存。 引言:上篇文章介紹了微服務(wù)和單體架構(gòu)的區(qū)別、微服務(wù)的設(shè)計(jì)、消息、服務(wù)間通信、數(shù)據(jù)去中心化,本篇會(huì)繼續(xù)深入微服務(wù),介紹其它特性。 治理去中心化 通常治理的意思是構(gòu)建方案,并且迫使人們通過(guò)努力達(dá)到組織的目標(biāo)。SOA治理指導(dǎo)開(kāi)發(fā)...

    sf190404 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<