LeoGoGoGoo 2021-03-23 19:03 采纳率: 25%
浏览 128

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都在前端调用前就可以被人发现,这样好么?

  • 写回答

2条回答 默认 最新

  • Metz 2021-03-23 23:23
    关注

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

    评论

报告相同问题?