参照着http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html,阮一峰的文档,搭建出了一套OAuth授权【授权码模式】,但是对于第一步的发起,总觉得有些不太舒服,但是大部分文章都是写的由前端来发起下面的这个请求获取code码:
但是问题是,明明数据库都已经存储了客户端的凭证,为何还是要由前端来发起呢,如果由它发起,那么参数值client_id和redirect_uri都在前端调用前就可以被人发现,这样好么?
参照着http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html,阮一峰的文档,搭建出了一套OAuth授权【授权码模式】,但是对于第一步的发起,总觉得有些不太舒服,但是大部分文章都是写的由前端来发起下面的这个请求获取code码:
但是问题是,明明数据库都已经存储了客户端的凭证,为何还是要由前端来发起呢,如果由它发起,那么参数值client_id和redirect_uri都在前端调用前就可以被人发现,这样好么?
你应该是理解错了,这种Auth授权表示是两个站点之间的跳转方式而已,你可以模拟下CSDN系统下的QQ登录,点击QQ图标后从CSDN跳到QQ网页的链接就是你上面写的这种链接,也是获取授权码的操作,QQ页面登录成功后会把Code放到redirect_uri后面,这时是服务器获取的Code,服务器再拿着Code去请求QQ接口获取access_Token,从而拿到用户信息的。