免费注册,打造高效身份管理
博客/开发者/Oauth2.0 的授权码模式为什么要用 code 获取 token?
Oauth2.0 的授权码模式为什么要用 code 获取 token?
Authing 官方2022.11.17阅读 1669

授权码模式(Authorization Code)是 OAuth 功能最齐全、流程最严谨,也是最常用的授权模式。


假设我们要用微信账号登录网易云音乐,需要以下五步: 1. 访问网易云音乐客户端,客户端跳转到微信授权页面,询问用户是否同意授权,微信会提供授权的URL。

  1. 用户选择是否同意授权
  2. 假设用户同意授权,微信端将向网易云音乐跳转重定向 URL,同时附上授权码(code)
  3. 网易云音乐收到授权码后,附上重定向 URL,向微信端申请令牌(token)
  4. 微信端传回网易云音乐令牌,由此网易云音乐就可以拿着访问令牌访问微信用户信息


在用户将微信信息授权给网易云音乐登录后,此时后端开始处理,前端不再参与。此时需要微信的服务器将 token 传给网易云音乐的后端,后端携带 token 去访问被授权的微信信息。在授权成功后,需要重定向 URL 通知用户授权成功,也就是说,建立起微信前端和网易云音乐前端的关联。

code 的作用在于让 token 不经过用户的浏览器直接传递,保护了 token 的安全。因为 code 只能用一次,且有时间限制,超时会失效,所以即使被截也未必能用。

其次,要获得 token,除了需要 code,还需要 client id/client secret。所以即使 code 被盗,也是无法获得 token 的。


综上,code 可以保证 token 的安全性,降低被盗取风险。更多关于 token 相关内容,大家可以去 Authing 官方文档看看。

关于 Authing

Authing 既是客户的支持者也是客户的产品专家和战略顾问,更是值得信赖的合作伙伴。目前,Authing 身份云已帮助 30,000+ 家企业和开发者构建标准化的用户身份体系,感谢可口可乐、元气森林、招商银行、中国石油、三星集团、CSDN 等客户选择并实施 Authing 解决方案。

点击链接,立刻了解 Authing!

 

文章作者

avatar

Authing 官方

0

文章总数

authing blog rqcode
关注 Authing 公众号
随时随地发现更多内容
authing blog rqcode
添加 Authing 小助手
加入 Authing 开发者大家庭