OAuth 2.0:为什么有了授权码(Code)还需要访问令牌(Access Token)?
在现代 Web 应用中,OAuth 2.0 是最常用的授权协议。很多开发者在学习 OAuth 2.0 时都会有一个疑问:
“为什么已经有了授权码(Authorization Code),还需要访问令牌(Access Token)?”
为了深入理解这个问题,我们需要从 OAuth 2.0 的设计理念和**授权码模式(Authorization Code Grant)**的完整流程讲起。
一、OAuth 2.0 的核心设计理念
OAuth 2.0 的核心思想是解耦授权与资源访问,并且统一使用 Access Token 作为访问资源的唯一凭证。这样设计主要有两个原因:
- 统一认证入口:所有的授权模式(Code、Password、Client Credentials、Implicit)最终都生成Access Token,使系统架构更加清晰和可扩展。
- 灵活性与安全性:通过 Access Token 可以灵活控制访问权限、有效期等,增强安全性和用户体验。
总结一句话: