使用access_token提取方法作为服务端点的装饰器

时间:2019-05-23 11:31:13

标签: python python-3.x

下面的Python服务端点将基于user_id获取客户详细信息,但我将获得user_id作为已编码的token。我需要解码并提取实际的user_id才能进行下一个数据库操作。

    @app.get('/Costumers/')
    @extract_user_id     # use decorator here
    def decode_extract_token(request): 
          user_id = request.headers['User-Id']
          return_value = app.obj_cus.get_customer_details(str(user_id))
          return return_value

这是我的extract_user_id的样子……对于这种python编码来说是非常新的东西。因此我们不能将其用作装饰器。

def extract_user_id(access_token):    
    try:
        payload = jwt.decode(access_token, key= '', verify=False)
        user_id = payload['sub']
    except Exception as ex
        raise InvalidTokenError("Invalid token")

    return user_id

  

现在有一种返回解码的user_id的方法。如何   将此过程实现为我的每个服务端的装饰器   点?

0 个答案:

没有答案