我正在答案here中尝试该方法。像这样:
url = 'https://InternalURL'
token = 'api token here'
response = redirect(url)
response['Token'] = token
return response
此代码位于单击模板中的链接时调用的视图中。执行一些操作来构建正确的URL和在此代码之前获取api令牌。
如果我通过Fiddler检查请求,则第一个具有302状态代码的重定向包含我设置的标头。但是后续尝试导航到我想要重定向到的实际网址的请求,我需要的标头没有设置。
显然,由于标头中不存在身份验证令牌,导致请求失败。
我完全错过了一些明显的东西吗?有一个更好的方法吗? 预先感谢您的任何帮助!
答案 0 :(得分:0)
尝试下面的代码,它对我有用
base_url = '/dashboard/' # 1 /<redirect-route>
query_string = urlencode({'token': jwt.encode(payload, "SECRET PHRASE")}) # 2 token=jwt-token
url = '{}?{}'.format(base_url, query_string) # 3 /<redirect-route>/?token=jwt-token
return redirect(url)
您可以在类似的视图处检索
token = request.GET.get('token')
我不知道这是否是最好的方法,但是可以,对于我来说,它是可行的。