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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Tornado中获取请求的身份验证标头相关的知识,希望对你有一定的参考价值。

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

原因是我想在我的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,我将添加一个标题

Authentication: Bearer {token}

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

答案

根据文档,包含request object的标题可用作RequestHandler.request,因此请尝试例如

self.write(repr(self.request.headers))
另一答案

在Tornado中,从JWT访问承载令牌可以通过以下方式实现:

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

以上是关于如何在Tornado中获取请求的身份验证标头的主要内容,如果未能解决你的问题,请参考以下文章

使用 Rails 和 React 时如何在标头中获取 JWT 令牌

使用身份验证标头发出跨域请求

laravel 中 jwt 身份验证中授权标头的作用

如何在 api 请求标头中插入 api 身份验证所需的 jwt 令牌?

如何在 Spring Security 中为所有请求添加 jwt 身份验证标头?

如何使用身份验证过滤器将标头设置为令牌请求 OAuth?