auth.py 文件源码

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

项目:OpenManga-sync 作者: nv95 项目源码 文件源码
def auth_required(f):
    @wraps(f)
    def decorated(*args, **kwargs):
        try:
            token = request.headers['X-AuthToken']
            if token is None:
                return {'state': 'fail', 'message': 'Authorization required'}, 403
            token = Token.query.get(token)
            if token is None:
                return {'state': 'fail', 'message': 'Invalid token'}, 403
            if token.expires_at is not None and token.expires_at < datetime.datetime.now():
                token.delete()
                db.session.flush()
                db.session.commit()
                return {'state': 'fail', 'message': 'Token was expired'}, 403
            return f(token=token, *args, **kwargs)
        except Exception as e:
            db.session.rollback()
            log.exception(e)
            return {'state': 'fail', 'message': str(e)}, 500

    return decorated
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号