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