Как я могу выполнить аутентификацию 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, т.е. ниже в конф.