1.是个什么东西?
第三方授权规范,比如你的网站需要获取微信用户数据,就需要跳转到微信的界面授权
2.怎么授权?
简单来说 客户端先提供微信授权的url,用户跳转后 有登录和同意授权的步骤,
同意授权后,我们的客户端服务器会向微信授权服务器请求一个授权码(code),
用户同意授权后会重定向到我们自己网页,并携带这个code
接着,我们的服务器再拿着这个code去微信的授权服务器获取access_token,拿到这个token后才可以去微信访问特点的资源
疑问:
1.为什么不直接返回token 而是要先拿到code 再用code去换token?
首先token是用户同意授权重定向到自己的页面时携带在url中的,也就是说很不安全,如果直接返回了token,那用户和其他人都能直接拿到这个token
而拿到code去换token是通过后端请求获取的,具有不可见性(https协议)
另外即使code被黑客拿到了,由于token只能被兑换一次,当用户出现token兑换失败,证明code已经被黑客窃取了,授权服务器会重新授权,之前的token也就失效了