Retrofit 通过刷新头部Token解决token过期

需求分析:

使用token来维持用户登陆状态是很常见的,但应当明确后台设置的token也都是有一定期限的,假如说是7天,那么我们的用户信息的获取必然是和token相绑定的,所以不可避免的我们的Android应用会存在token过期的问题,以下将一个开发案例来记录下如何自动刷新token的问题。

运行结果:

运行流程是获取相应的信息,首先是验证了token是否有效[包括一开始token不存在的情况去获取],发现是过期的或者无效的,紧接着去调用相应的api去获取登陆的token,之后再进行存储,然后请求成功。

核心代码,也都有注释。这里说明一点,获取token一定得是同步请求,异步会造成在返回对应的token之前已经进行了请求。

public class MyBaseApiRetrofit {
    private final OkHttpClient mClient;
    // 这里的token是从数据库中获得的-------------
    private String token = "Bearer default";

    public OkHttpClient getClient() {
        return mClient;
    }

    public MyBaseApiRetrofit(){
        //OkHttpClient
        O
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值