OAuth 2.0的运行流程如下图,摘自RFC 6749。
![OAuth运行流程](https://box.kancloud.cn/2015-09-11_55f2878118e55.png)
> (A)用户打开客户端以后,客户端要求用户给予授权。
>
> (B)用户同意给予客户端授权。
>
> (C)客户端使用上一步获得的授权,向认证服务器申请令牌。
>
> (D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
>
> (E)客户端使用令牌,向资源服务器申请获取资源。
>
> (F)资源服务器确认令牌无误,同意向客户端开放资源。
不难看出来,上面六个步骤之中,B是关键,即用户怎样才能给于客户端授权。有了这个授权以后,客户端就可以获取令牌,进而凭令牌获取资源。
下面一一讲解客户端获取授权的四种模式。