《oauth2实战》code值的作用

oauth流程:

  1. oauth2授权码模式流程,用微信登录举例子,用户点击微信重定向到微信授权页面,点击同意,微信吧code值重定向给前端页面。前端页面把code值传给后台,后台获取token,获取用户信息响应给前端
  2. 为什么要有code值呢?不用code行不行?不用code也行,不用code的流程应该是用户点击同意之后微信把token给前端或者后台,如果给前端token暴露在前端会泄露。给后台是可以的,后台获取到用户信息之后,怎么返回给前端呢?此时是微信和后台建立的长连接,并不是我们的前端和我们的后台长连接,我们后台无法给前端任何响应。那么就需要后台主动发请求给前端才能把我们的用户信息给前端,这就需要用的websocket技术了。这样是可以实现不用code,也可以安全的把token生成传递给客户端。         可是我们知道使用websocket技术只是类似于IM即时通讯之类的应用才会用的,大多数公司不会使用这个技术。因为一个点就使用一个新的技术是完全不值得的,增加系统复杂程度。如果oauth2流程这样去设计那么就无法做到通用,无法让很多人满意了,无法做到通用。        因此不能直接把token给后台,需要给前端。可是前端给token不安全,那就需要给前端一个中间的值,这个中间的值就是code。前端拿到code值给请求后台,后台最后响应给前端微信用户的信息。这样就不需要websocket了。                       那code值给前端就安全吗?code值给到前端code值会泄露,但是不代表token会泄露,code值的防护做好了会保证token不泄露。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值