oAuth2是什麼,怎麼使用,怎麼搭配PHP框架ThinkPHP

oauth2實例

  1. 在網站上使用第三方登陸,QQ登陸、微信登陸等
  2. 微信小程序需要你的微信賬號授權
  3. 支付寶繳燃氣費,需要你的支付寶賬號的授權,讀取你的手機號碼等信息
  4. 雲沖印,需要Google賬號登陸授權,讀取你的照片進行沖印
  5. etc

 

OAuth2基本概念和運作流程

https://segmentfault.com/a/1190000013467122

  • 假如有一個雲沖印的網站,可以將你存儲在Google的照片衝印出來,用戶爲了使用該服務,必須讓雲沖印讀取Google上的照片。爲了拿到照片,雲沖印必須得拿到一個用戶的授權,如何獲取這個用戶授權呢?傳統方法是用戶將用戶名和密碼告訴雲沖印,那麼雲沖印就可以自由無限制的訪問了(相當於用戶自己訪問),這樣顯然是不行的,有幾個嚴重的缺點:

    • 雲沖印爲了保存後續服務,會保存用戶的密碼,這樣很不安全。
    • 雲沖印擁有了獲取用戶存儲在Google的所有資料的權力,用戶沒法限制雲沖印得到的授權範圍和授權有效期。
    • 用戶只有修改密碼,才能收回賦予雲沖印的權力,但是如果還授權給了其他的應用,那麼密碼的修改將影響到所有被授權應用。
    • 只要有一個第三方應用程序被破解,就會導致用戶密碼泄漏,以及所有被密碼保護的數據泄漏。(例子來自阮一峯-理解OAuth2.0)

可以看出,OAuth就是爲解決如上例子而誕生的。

。。。

 

很不錯的一個例子,雖然鄙人還未吃透,建議動手試一下

https://www.cnblogs.com/endv/p/7868549.html

命令行:

curl -u str1:889 http://tryoauth2.com/token.php --data "grant_type=authorization_code&code=f8ef50221f7817f3e01d2d6c31a33f3c40db76a5"

結果:

{"access_token":"81b72d57ee07b48b7a8a79197a9ad9364f0b861c","expires_in":3600,"token_type":"Bearer","scope":null,"refresh_token":"b49c0d3b739ba1bf40fc3e2ed82645444411e6e0"}

 

基於thinkphp5.1框架搭建OAuth2.0服務端

https://blog.csdn.net/a1264718192/article/details/84710183

寫得很棒,很詳細~

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章