Как добавить аутентификацию в веб-сервис Python wsgiref

Я работаю над примером кода, приведенным в документации по Python, код:

from wsgiref.simple_server import make_server, demo_app

httpd = make_server('', 8000, demo_app)
print "Serving HTTP on port 8000..."

# Respond to requests until process is killed
httpd.serve_forever()

# Alternative: serve one request, then exit
httpd.handle_request()

Я могу получить доступ к этому через localhost на порту 8000, но теперь, если я хочу передать имя пользователя / пароль с "localhost:8000 username, password", как мне это сделать. Я выяснил, как узнать, была ли аутентификация неудачной, но не узнать, как на самом деле получить имя пользователя / пароль для проверки.

Любые советы и подсказки.....

Ура,

1 ответ

Решение

Если вы передаете имя пользователя / пароль в строке запроса, как http://localhost:8000?username=x&password=yвы можете получить их в своей функции-обработчике WSGI из dict environment: environ['QUERY_STRING'], Ты можешь использовать urlparse.parse_qs из стандартной библиотеки, чтобы разобрать его. Если это код, который идет в производство, я, во-вторых, Йоран, вам следует использовать хотя бы HTTP Basic Authentication и некоторое промежуточное программное обеспечение для аутентификации, например баррель.

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