如何在 Tornado 中获取请求的身份验证 Header

How to get the request's Authentication Header in Tornado

我一直在寻找如何从 Tornado GET/POST 请求中获得授权 Header,但是 none。有人可以帮忙吗?

原因是我想在我的Python应用程序中实现JWT

例如,这个龙卷风 API 只是创建了一个 GET 请求:

class HeaderHandler(tornado.web.RequestHandler):
    def get(self):
        headers = tornado.httputil.HTTPHeaders()
        response = {
            'message': str(headers)
        }
        self.write(response)

我想通过 http://localhost:{port} 访问此 API,我将添加一个 header,即

Authentication: Bearer {token}

但是这段代码不起作用。它无法获取传递给请求的 授权 header。任何帮助表示赞赏。谢谢!

根据文档,一个 request object containing headers is available as RequestHandler.request,所以试试

self.write(repr(self.request.headers))

在 Tornado 中,可以通过以下方式从 JWT 访问不记名令牌:

token = self.request.headers.get('Authorization')