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

写得很棒,很详细~

发布了166 篇原创文章 · 获赞 58 · 访问量 66万+

猜你喜欢

转载自blog.csdn.net/qq285744011/article/details/103889490