Как я могу сделать аутентификацию с помощью Cookies и / или GET / POST-параметров? - PullRequest
1 голос
/ 20 февраля 2010

Я создаю приложение и хотел бы использовать authkit для аутентификации и авторизации. Тем не менее, я знаю, что буду использовать swfupload и не смогу полагаться на cookie-файл аутентификации, передаваемый через Flash. В прошлом я с нуля свернул свое собственное решение для файлов cookie / auth, но я бы хотел избежать этого на этот раз.

Есть ли способ настройки authkit.authenticate.cookie для возврата к параметру POST или GET, если cookie не найден? Или есть простой способ добавить эту функциональность поверх методов form, cookie или redirect, cookie?

1 Ответ

1 голос
/ 16 июня 2011

Я столкнулся с этой же проблемой только сегодня. Наиболее распространенное решение, которое, похоже, используют люди, - это вставить значения файлов cookie Authkit обратно в файлы cookie запроса из переменной POST, которая добавляется в запрос плагином swfupload cookies . Есть несколько рецептов для этого, но я не мог найти один для Pylons.

Я собрал этот маленький кусочек промежуточного программного обеспечения, который, кажется, выполняет эту работу.

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, т.е. под ним в конф.

...