Oauth2.0 授权码详解 taro Posted on Mar 5 2023 这里讲的比较好的 [oauth-2-0-是怎样运转的](https://zq99299.github.io/note-book/oath2/01/01.html#oauth-2-0-%E6%98%AF%E6%80%8E%E6%A0%B7%E8%BF%90%E8%BD%AC%E7%9A%84) ![](/api/file/getImage?fileId=64045274243fdc000e0001a5) 现在用的比较多的还是授权码类型,重点展开一下授权码 这里原文也发出了一个提问? `为什么要用授权码呢?` 我们看起来,如果去掉授权码,直接返回访问令牌是不是也可以? 但是从实际的应用角度来看,去掉授权码后就会从这样 ![](/api/file/getImage?fileId=64045274243fdc000e0001a7) 变成了这样 ![](/api/file/getImage?fileId=64045274243fdc000e0001a6) 这里其实有个问题,授权平台无法主动和第三方软件平台通讯。那么授权平台必须要通过浏览器才能将这个 access_token 发送第三方软件平台。那么是不是任何人拿到这个access_token 就相当于获取了这个 token 所对应的权限。 > 这里原文介绍的有点奇怪,说的是用户无法和后端通讯?这个流程意思就是用户点击了授权后,授权平台生成的access_token直接和后端通讯?这里其实更大的安全行问题在 access_token 的存储问题。 现在有个授权码,就能解决这个问题,给用户返回的是一个授权码,用户并不能直接利用这个授权码向开放平台的受保护资源获取权限,也不能换区accees_token , 只有后端平台才可以拿这个授权码换取 access_token 。这个授权码由平台保存,每次需要获取用户的受保护资源信心,都用这个授权码+自己的 client ID + 自己client Key 换取一个 access_token 去换取。 portswigger oauth 关卡详解 pokemon 1.0