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

授权码模式(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 开发者大家庭
身份顾问在线解答
当前在线
如何打造完整的身份体系?
立即沟通
authing
添加企业微信,领取行业资料
authing
authing
下载 Authing 令牌,体验快速登录认证!
免费使用
在线咨询
电话咨询