views.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:WebGames 作者: Julien00859 项目源码 文件源码
def refresh(req):
    if "id" not in req.json or "token" not in req.json:
        logger.debug(f"Request is {req.json} but some arguments are missing.")
        raise InvalidUsage("Missing argument")

    user = User.get_by_id(req.json["id"])
    if user is None:
        logger.debug(f"Request is {req.json} but user coundn't be found.")
        raise NotFound("User not found")

    if await accounts.is_frozen(user.id, req.ip):
        logger.debug(f"Request is {req.json} but the account is frozen.")
        raise InvalidUsage("Account frozen")

    if not await accounts.is_valid(req.json["id"], req.json["token"]):
        logger.debug(f"Request is {req.json} but the token is invalid or expirated.")
        await accounts.freeze(user.id, req.ip)
        raise NotFound("Token not found or expirated")

    await accounts.unfreeze(user.id, req.ip)
    logger.info(f"User {user.name} refreshed it's token: {req.json['token']}")
    return json({"token": req.json["token"], "id": user.id, "name": user.name})
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号