案例一,停車事件瀏覽器
OAuth2解決:資源受權問題安全
酒店停車事件
一、開壕車到酒店
二、酒店服務生代泊車
三、泊車鑰匙(只能開兩千米,不能打開車內酒櫃)
四、泊車
五、取車(本身的鑰匙,全功能)服務器
定義微信
OAuth(Open Authorization,開放受權)是爲用戶資源的受權定義了一個安全、開放及簡單的標準,第三方無需知道用戶的帳號及密碼,就可獲取到用戶的受權信息,而且這是安全的。app
專用名詞:
(1)Third-party application:第三方應用程序,又稱"客戶端"(client)。
(2)Resource Owner:資源全部者,又稱"用戶"(user)。
(3)User Agent:用戶代理,指瀏覽器。
(4)Authorization server:認證服務器,即服務提供商專門用來處理認證的服務器。
(5)Resource server:資源服務器,即服務提供商存放用戶生成的資源的服務器。它與認證服務器,能夠是同一臺服務器,也能夠是不一樣的服務器。spa
場景1、微信登陸 3d
場景2、移動端登陸代理
其餘應用場景code
四種模式server
受權碼模式
受權碼模式是最複雜的,也是最安全的
一、客戶端請求驗證,由用戶獲取code
二、客戶端拿到code,請求token
三、銷燬code,下發token,而用戶拿不到token,客戶端保存
四、客戶端使用token訪問資源
五、過時後使用refresh_token刷新token再次使用
受權碼模式-token過時
賬號密碼模式
客戶端模式
公開服務調用的一種類型
一、與用戶無關的應用
二、服務器之間通訊
三、對用戶透明,加強站點功能的一類
簡化模式(緊湊)
不要用它,不要用它,不要用它
一、不支持refresh_token
二、瀏覽器即客戶端
三、用戶拿到token,可能安全性有問題
Code模式
告訴你密碼得了系列