SpringSecurity OAuth2.0获取授权码的触发问题

参照着http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html,阮一峰的文档,搭建出了一套OAuth授权【授权码模式】,但是对于第一步的发起,总觉得有些不太舒服,但是大部分文章都是写的由前端来发起下面的这个请求获取code码:

http://localhost:8000/oauth/authorize?response_type=code&client_id=resource&redirect_uri=http://localhost:8888/login_success&scop=read

但是问题是,明明数据库都已经存储了客户端的凭证,为何还是要由前端来发起呢,如果由它发起,那么参数值client_id和redirect_uri都在前端调用前就可以被人发现,这样好么?

你应该是理解错了,这种Auth授权表示是两个站点之间的跳转方式而已,你可以模拟下CSDN系统下的QQ登录,点击QQ图标后从CSDN跳到QQ网页的链接就是你上面写的这种链接,也是获取授权码的操作,QQ页面登录成功后会把Code放到redirect_uri后面,这时是服务器获取的Code,服务器再拿着Code去请求QQ接口获取access_Token,从而拿到用户信息的。

+code,你的应用场景感觉是在自己做登录系统吗?前后端接口对接即可,不一定非要用auth协议