微信邦

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,訪問微社區

返回列表 發新帖
查看: 5799|回復: 0
打印 上一主題 下一主題

云調用,小程序鑒權正確姿勢

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2019-4-11 20:52:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
生活圈制作
目錄:
一、無處不在的鑒權
   1. 現實生活中的身份鑒權方法
   2. 簡單的密碼鑒權體系
二、鑒權優化
   1. 頻繁的鑒權場景下的優化方案
   2. 第三方鑒權體現下的設計——oAuth 2.0鑒權體系
三、說了這么多廣而全的鑒權方式,我們看看小程序開發中的鑒權是如何實現的
   1. 小程序服務端接口的鑒權方式
   2. 簡化版的 OAuth 2.0
   3. 鑒權是否可以優化
四、云調用免鑒權體系
五、未來鑒權暢想

互聯網的應用,大大小小,不同場景,都離不開鑒權,從簡單的可被用戶感知的登陸鑒權,到技術側不被感知的各種技術參數鑒權,都有著形形色色的鑒權方式和表現形式。
那么,什么是鑒權?
其實,從本質上來講,鑒權就是要證明你就是你,你可以做哪些事情。

鑒權分為兩部分,一部分是鑒別身份,一部分是確定權力。
而現代網絡設計中,權力的分配一般都是預先分配好的,在鑒別身份之后,拿著身份信息,去權限中心確定權力范圍。這樣就完成了用戶的鑒權過程。

一、無處不在的鑒權1.現實生活中的身份鑒權方法

身份證 是現代社會用于鑒別身份的一種方式。

說起身份證, 據相關史實考證,我國的身份證最早出現在戰國時期,商鞅在秦國變法,發明了「照身帖」。照身帖由官府發放,是一塊打磨光滑細密的竹板,上面刻著持有人的頭像和籍貫信息。國人必須持有, 如若沒有,就被認為是黑戶或者間諜之類。這可能是身份證的雛形。

在隋唐時期,我國出現了最早的“身份證”,當時的朝廷發給官員一種類似身份證的“魚符”,是用木頭或者金屬所作,形狀像魚,分左右兩片,上有小孔,并可有官員姓名、任職衙門、官員品級等。那時,凡親王、三品以上官員“魚符”用黃金制作;五品以上用白銀;六品以下為銅制。五品以上官員,還備有存放魚符的專用袋子,稱為“魚袋”。

從秦朝到清朝的這個階段,出現的這些身份標識,盡管形式多樣,但總體來說,都是屬于「身份證明」這一范疇。然而,這樣的「身份證」在核驗其身份的真實性方面,只能憑眼看,造假很容易蒙混過關,沒有人能真正證明其真實性。這種核驗身份方法是最初級最原始的方法,是現代身份證雛形的階段。

而身份證這種鑒權方式猶如密碼鑒權一樣,屬于一種 令牌鑒權方式。
令牌要么被私有不公開,要么很難偽造。


同樣,在武俠小說中的令牌,也是如此。最近熱播的「倚天屠龍記」中,明教的「圣火令」—— 見之如見教主。「圣火令」就是令牌的一種方式,是一種固定的密鑰鑒權方式。

2.簡單的密碼鑒權體系
『我這有一把鎖,我把鑰匙發給你,你使用資源的時候過來開鎖使用就好了。』可以形象的比喻現代互聯網中使用的密碼鑒權體系。資源管理者只信任密碼憑證,無論誰持有了密碼,都可以使用對應的權利資源。比如,不管誰持有圣火令,都可以使用明教教主的權利資源。
密鑰鑒權體系的特點:
1.簡單 2.密碼成本,不公開或偽造有門檻

二、鑒權優化
1.頻繁的鑒權場景下的優化方案
想象一種場景,持有圣火令的教主,每次施號發令,都要將圣火令從自己藏的密道中取出來才能發令。那么,如果自己心愛的人正在被屠殺,取個圣火令回來可能人就沒了,所以,這里應該是有一個簡單的方式來優化這一過程。
互聯網密碼鑒權體系中,常常在通過身份驗證后,將通過認證的信息保持一段時間,同樣,實際武俠江湖中,大家都是有記憶的,圣火令持有者亮出圣火令的一段時間后,看到的人就能記下他已經是圣火令的持有者了,下次發號施令,就不必取來圣火令了。

在web認證體系下,http協議是一種無狀態的協議,用戶通過輸入密碼后獲得身份認證,這種狀態是無法保持下來的,為了保持這種狀態,客戶端和服務端可以一起想辦法把鑒權狀態保留一段時間。比如,客戶端可以記下用戶的密碼,下次只需要把密碼自動帶入到服務端即可。但這種方式是極為不安全的,客戶端和傳輸端的可能泄漏密碼。為了避免這種風險的發生,客戶端和服務端通過其他的約定來保持這種狀態,比如,通過一種臨時密碼來降低這種風險發生的危害,這種臨時規則可以是session + cookie,也可以是token等等。

2.第三方鑒權體現下的設計——oAuth 2.0鑒權體系
密碼鑒權體系一般都是發生在兩方之間的鑒權方案。但是回歸到武俠世界中,如果一個人拿了偽造的圣火令來發號施令,那豈不是對明教的危害很大?怎么解決這個問題?這就需要一個可以被信任的人,能夠先甄別圣火令的真假,然后其他的人信任這個人,最終完成身份的驗證。
所以這就引入了一個可信任的第三方代為鑒別令牌的,然后告知鑒別結果。比如,第三方登錄場景下, 平臺需要第三方平臺代為身份驗證后告知平臺此人的身份是什么。這就是我們常見到的oAuth鑒權,現在被廣泛應用再第三方登陸平臺中,比如微信登陸、QQ登陸等等。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友 微信微信
收藏收藏
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

微信邦網聯系QQ|Archiver|手機版|小黑屋|魯公網安備 37082802000167號|微信邦 ( 魯ICP備19043418號-5

GMT+8, 2019-10-14 01:41 , Processed in 1.146822 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Wxuse Inc. | Style by ytl QQ:1400069288

快速回復 返回頂部 返回列表
海南七星彩开奖