OAuth是一个复杂的安全协议,它需要不同的组件相互通信,其精准平衡犹如一支技术之舞。但是从根本上说,OAuth事务中的两个重要步骤是颁发令牌和使用令牌。令牌表示授予客户端的访问权,它在OAuth 2.0的各个部分都起到核心作用。尽管每个步骤的细节会因多种因素而异,但是一个规范的OAuth事务包含以下事件。
(1) 资源拥有者向客户端表示他希望客户端代表他执行一些任务(例如“从该服务下载我的照片,我想把它们打印出来”)。
(2) 客户端在授权服务器上向资源拥有者请求授权。
(3) 资源拥有者许可客户端的授权请求。
(4) 客户端接收到来自授权服务器的令牌。
(5) 客户端向受保护资源出示令牌。
OAuth流程的不同部署可以以略微不同的方式处理每一步,通常将多个步骤合并为一个动作以优化流程,但核心流程基本相同。接下来看看最典型的OAuth 2.0示例。