通过认证的方式判断vip是是否过期

在app支付模块中有是否是vip情况下访问接口,每次访问需要校验vip是否过期,设置认证机制token过期时间1个小时,refresh_token 过期时间一周,将vip时长校验方式放在更新refresh_token接口中进行校验,判断一天只校验一次,如果会员已经过期,更新token和refresh_token,并将判断是否是vip的权限返回到前端,前端更新localstore中的权限(在每一个访问vip接口前,前端先进行校验,减少不必要的访问良妃资源,后端添加限制防止爬虫爬去数据)

@routes.put('/api/v1/refresh_token')
@app_permission_authentication
async def put_refresh_token(request):
    username = request.get("id")
    permission = request.get("permission")
    db = request.app.get('db')
    is_refresh_token = request.get("is_refresh_token")
    try:
        user_data = await db["users"].find_one({"id": int(id)}, {"_id": 0})
        duration = id_vip(user_data.get("duration"))
        if not vip_expire:
           where=  {'permission': 4, "duration": None}
            await db["users"].find_one_and_update({"uid": int(uid)}, {'$set':where})
        result = await AppAuthorization(request).put_token(id, permission,  is_refresh_token,
                                                                  duration=user_data.get("duration"))
        if result:
            user_data.update(where)
            result.update({"status": True, "error": None, "user_data": user_data})
            return web.json_response(result)
        else:
            return web.json_response({"status": False, "error": None})
    except Exception as e:
        return web.json_response({"status": False, "error": None})
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值