关于OAuth
OAuth是一个关于授权(authorization)的开放网络标准,而本文章重点介绍的是授权码模式;
**授权码模式(authorization code)**是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。
步骤如下:
(A)用户访问客户端,后者将前者导向认证服务器。
客户端申请认证的URI,包含以下参数:
(B)用户选择是否给予客户端授权。
(C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。
该步骤中,服务器回应客户端的URI,包含以下参数:
(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。
步骤中,客户端向认证服务器申请令牌的HTTP请求,包含以下参数:
(E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。
E步骤中,认证服务器发送的HTTP回复,包含以下参数: