我正在构建一个应用程序,我想尝试使用authkit进行身份验证和授权。但是,我知道我将使用swfupload,不能依赖于通过闪存传递的身份验证cookie。在过去,我从头开始使用自己的cookie/auth解决方案,但这次我希望避免这样做。
有没有办法将authkit.authenticate.cookie配置为在找不到cookie时回退到POST或GET参数?或者,有没有一种简单的方法可以在form, cookie或redirect, cookie方法之上添加此功能?
发布于 2011-06-16 21:06:42
就在今天我遇到了同样的问题。人们使用的最常见的解决方案似乎是将Authkit cookie值从POST var注入到请求的cookie中,该cookie由swfupload cookies plugin添加到请求中。有一些食谱可以做到这一点,但我找不到一个塔架。
我拼凑了一小块中间件,它似乎可以完成这项工作。
from webob import Request
class AuthkitCookieFromPost(object):
"""Injects authkit cookie value from swfupload cookies plugin"""
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
request = Request(environ)
authkit_token = request.POST.get('authkit')
cookies = environ.get('HTTP_COOKIE')
if authkit_token and not cookies:
environ['HTTP_COOKIE'] = "authkit=" + authkit_token
return self.app(environ, start_response)你需要把它包含在你的中间件配置中,这样它才能在Authkit之前被调用。在conf中它的下面。
https://stackoverflow.com/questions/2300165
复制相似问题