重定向的瓶子设置授权标头

Posted

技术标签:

【中文标题】重定向的瓶子设置授权标头【英文标题】:Bottle set Authorization header on redirection 【发布时间】:2020-07-24 19:47:10 【问题描述】:

我有一个 Python/Bottle 服务器应用程序、一个 Seaweed 媒体服务器和一个 nginx Web 服务器。 在允许 shim 下载文件之前,我需要检查客户的许可。 所以:

    用户请求下载文件。 后端检查用户权限。如果授予,将其重定向到文件位置。

但问题是必须设置 JWT 保护的 Seaweed 和 Authorization 标头。

我可以设置授权标头然后重定向用户吗?

【问题讨论】:

到目前为止你有什么尝试? 【参考方案1】:

是的,您可以在重定向上设置标头。这是在 Bottle 中执行此操作的一种方法:

@route(...)
def handler():
    # after you've authorized the user, set your auth header:
    response.set_header('Your-auth-header', auth_token)

    # perform the redirect
    response.status = 302
    response.body = ''
    response.set_header('Location', file_location)
    raise response

(这不是我的想法;未经测试的代码。)

【讨论】:

以上是关于重定向的瓶子设置授权标头的主要内容,如果未能解决你的问题,请参考以下文章

OkHttp是否在重定向上发送授权和其他可能敏感的标头?

使用授权标头重定向到操作

NodeJS:使用 res.writeHead 的重定向缺少标头授权

Apache NiFi的InvokeHTTP和其他HTTP处理器是否会向重定向的URL发送授权标头?

由于浏览器设置的标头,Safari 拒绝重定向 CORS 请求

从角度 4.3+ 中的 302(重定向)响应中检索标头