1、客户端请求第三方授权
用户进入网站的登录页面,点击第三方登录(如微信登录)的图标以微信账号登录网站,用户是自己在微信里信息的资源拥有者。
2、资源拥有者同意给客户端授权
资源拥有者扫描二维码表示资源拥有者同意给客户端授权,微信会对资源拥有者的身份进行验证,验证通过后,微信会询问用户是否授给网站访问自己的微信信息,用户点击“确认登录表示同意授权”,微信认证服务服务器会颁发一个授权码给客户端(比如浏览器),并重定向(微信认证服务器让浏览器带着授权码再去访问网站,网站拿到授权码后再去认证服务器获取令牌,拿到令牌接着再带上令牌去认证服务器获取用户的微信信息,之后,就生成token返回给并重定向到网站首页)到网站
3、客户端获取到授权码,请求认证服务器申请令牌
此过程用户看不到,客户端应用程序(这里指的是网站的后端服务器)请求认证服务器,请求携带授权码。
4、认证服务器向客户端响应令牌
微信认证服务器验证了客户端(这里指的是网站的后端服务器)请求的授权码,如果合法则给客户端颁发令牌,令牌是客户端访问资源的通行证。
些交互过程用户看不到,当客户端拿到令牌后,再给网站前端重定向到客户要访问的页面