OAuth是什么有咨?
OAuth2.0 最常用的是授權碼模式(理解這個就可以了)
什么是授權碼模式琐簇?
大概就是:
用戶在公司B網(wǎng)站頁面上跳轉到“權威”公司A的網(wǎng)站登錄。
登錄成功后座享,公司A給用戶一個密碼Code婉商,瀏覽器自動轉手密碼Code傳遞給公司B的網(wǎng)站似忧。
公司B的網(wǎng)站拿著密碼Code從A公司獲得另外一個私密令牌Token。
公司B又拿著令牌Token和“自身文件”從A公司獲得該用戶的信息据某。
公司B返回頁面給用戶橡娄,提示用戶登錄成功。
以上敘述繁瑣癣籽,看下圖解釋挽唉。
不同視角來理解一下?
1.用戶的視角
2019-04-08 23 49 08.png
總結:沒有仔細觀察筷狼,跳轉基本無感
2.上帝的視角
2019-04-08-23-17-38.png
總結:每次跳轉都是必要的
3.程序員的視角
有需要的話瓶籽,待續(xù)唄
Q&A:
為什么需要code又需要token?
code用戶可以得到的呀,也就是在暴露在外面了撰茎。
而token只有我站跟開放平臺才知道劲腿,而且授權不僅僅需要token還需要我站在開放平臺注冊時獲得的app_id和app_secret一起提交給開放平臺才可以。
總結:
code不是敏感信息严拒。
token比較敏感。
app_id和app_secret最敏感竖独。
這上述兩家公司如何識別呢裤唠?
上述A、B公司有協(xié)議莹痢,A授權B公司种蘸,他們能相互通信。
(如:B公司去A公司平臺注冊了竞膳,獲得了一些資源:如app_id航瞭、app_secrect、logo坦辟、callback鏈接等)
備注:
以上總結只是其中比較常用的方式中的一種刊侯。
如有不同意見,建議锉走,請分享指點滨彻。