Как я могу выполнить аутентификацию authkit с помощью файлов cookie и / или параметра GET/POST?

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

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

1 ответ

Я столкнулся с этой же проблемой только сегодня. Наиболее распространенное решение, которое, похоже, используют люди, - это вставить значения файлов 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, т.е. ниже в конф.

Другие вопросы по тегам