Search code examples
pythonjwttornado

How to get the request's Authentication Header in Tornado


I've been looking on how to get the Authorization Header from a Tornado GET/POST Request, but there's none. Anyone can help on this?

The reason is that I want to implement JWT in my Python application.

For example, this tornado API just creates a GET request:

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

I want to access this API via http://localhost:{port} and I will add a header which is

Authentication: Bearer {token}

But this code doesn't work. It cannot fetch the authorization header passed to the request. Any help is appreciated. Thanks!


Solution

  • In Tornado, accessing the bearer token from JWT can be achieved by:

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