Django работник не обрабатывает ответы правильно с Дафни
Создать заголовок для этого вопроса было сложно, поэтому, пожалуйста, прости. Я пытаюсь настроить SSO с помощью MicroSoft и Django.
Нашел многообещающий плагин, чтобы справиться с этим, но некоторые проблемы, я думаю, могут быть связаны с django / daphne больше, чем сам плагин.
Плагин предназначен для обработки обратного вызова из MS SSO, и есть представление django, которое обрабатывает ответ.
Ну, это не работает, как ожидалось. Вопрос, однако, касается поведения того, что я вижу в журналах при устранении неполадок.
Я вижу, что ответный звонок пришел:
рабочие журналы:
2018-11-23 17:23:54,920 - DEBUG - worker - Dispatching message on http.request to channels.handler.ViewConsumer
Bad Request: /microsoft/auth-callback/
Дафна журналы
2018-11-23 17:23:54,920 INFO "127.0.0.1" - - [23/Nov/2018:17:26:28 +0000] "POST /microsoft/auth-callback/ HTTP/1.1" 400 665 "https://login.microsoftonline.com/common/reprocess?ctx=****&sessionid=*******" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0"
Тем не менее, это где он умирает. Ответ должен иметь полезную нагрузку, содержащую состояние сеанса.
Однако, просматривая журнал работника django, я перезапустил его. При закрытии рабочих я вижу это в журналах:
2018-11-23 17:30:26,746 - INFO - worker - Shutdown signal received while idle, terminating immediately
{'state': '****', 'session_state': '***'}
Это происходит из оператора print в views.py, который должен обрабатывать ответ. Это значение, которое должен обрабатывать мой views.py!
Что я не могу сказать, так это то, что функции view.py не вызываются до тех пор, пока работник не завершит работу, или если у работника возникнут проблемы с обработкой этого и просто выгрузит какой-то кэш, когда я его завершу. Есть идеи?