一、OAuth2
OAuth2简介
OAuth2是一种授权框架,用于允许第三方应用程序(客户端)在不知道用户的凭证(例如用户名密码)的情况下,访问受保护的资源(比如用户的个人信息,通讯录等)。
OAuth2协议包含的角色
资源持有者:拥有受保护资源的用户
客户端:请求访问受保护资源的应用程序
授权服务器:验证资源持有这会儿、授予客户端访问令牌的服务器
资源服务器:存储收保护资源的服务器,只允许访问令牌来保护资源
OAuth协议通常包括以下步骤,如下图OAuth2协议流程图所示:

请求获取访问令牌
客户端发出授权请求
授权服务区向资源服务器发出授权请求
资源服务器同意授权
授权服务器颁发令牌给客户端
根据访问令牌访问受保护资源
客户端使用访问令牌向资源服务器发起 访问(受保护资源)
资源服务器验证令牌并返回受保护资源
用户授权的含义是?
用户授权就是指用户允许一个应用程序或服务访问其受保护的资源(例如个人信息、通讯录等)的过程
在OAuth2授权框架中,access token 、refresh token授权认证的令牌,但他们的作用是不同的。
二、access token
access token 就是普通理解的token,用于唯一身份的标识,每次在请求后端,访问受保护的资源时,比如用户的个人信息,通讯录等,需要通过access token令牌来 访问受保护的资源。
三、refresh token
refres token是用于更新access token的令牌,因为access token 的过期时间较短,当access token 过期时,客户端需要通过refresh token 获取欣的access token。这样做的好处是避免了再次请求用户授权。
四、举例说明
access token 就像一把钥匙,想进门,就需要这把钥匙。而refresh token 就像一个钥匙管家,如果想要换开门的钥匙,就可以直接通过refresh token 换一个access token。这样一来,在access token失效时,不需要去找主人重新确认一遍主人就是这个房子的主人,才给配一把新的access token钥匙。而是直接找管家 refresh token,换一把accesstoken就好了。