Oauth2.0(三):Access Token 与 Refresh Token

OAuth2.0中,Access Token用于访问资源服务器,具有时效性以保障安全。Refresh Token则用于刷新Access Token,避免频繁向用户重新授权。Refresh Token存储在服务器端,通过验证client_id和client_secret进行安全刷新。当Access Token过期,应用使用Refresh Token刷新而非再次授权。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    access token 是应用方访问资源服务器的接口时,需要提供的一个令牌。拥有这个令牌代表着得到用户的授权。然而,这个授权应该是临时的,有一定有效期。这是因为,access token 在使用的过程中可能会泄露。给 access token 限定一个较短的有效期可以降低因 access token 泄露而带来的风险。

    然而引入了有效期之后,应用方使用起来就不那么方便了。每当 access token 过期,应用方就必须重新向用户索要授权。这样用户可能每隔几天,甚至每天都需要进行授权操作。这是一件非常影响用户体验的事情。希望有一种方法,可以避免这种情况。

    于是 Oauth2.0 引入了 refresh token 机制。refresh token 的作用是用来刷新 access token。鉴权服务器提供一个刷新接口,例如:

 

    http://xxx.xxx.com/refresh?refreshtoken=&client_id=

 

    传入 refresh token 和 client_id,鉴权服务器验证通过后,返回一个新的 access token。为了安全,Oauth2.0 引入了两个措施:

    1,Oauth2.0 要求,refresh token 一定是保存在应用方的服务器上的,而绝不能存放在狭义的客户端(例如移动 app、PC端软件) 上。调用 refresh 接口的时候,一定是从服务器到服务器的访问;

    2,Oauth2.0 引入了 client_secret 机制。即每一个 client_id 都对应一个 client_secret。这个 client_secret 会在应用方申请 client_id 时,随 client_id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值