Остановить выполнение кода, пока результат не будет предоставлен через веб-перехватчик
Используя Python 3.6.8, Ubuntu18LTS, Flask 1.1.2,
У меня есть два коммуникационных партнера A и B, каждый из которых использует aries-cloudagent-python (v. 0.6.0). Оба установили соединение и отправляют друг другу базовые сообщения.
A хочет, чтобы B выполнил какую-то операцию. Для этого A сначала необходимо пройти аутентификацию. Это делается с помощью простого ответа с асимметричным шифрованием ключа (B отправляет одноразовый номер, зашифрованный открытым ключом A. Когда A может расшифровать сообщение и отправить обратно правильный одноразовый номер, A аутентифицируется).
Теперь мне нужно, чтобы произошло следующее: A отправляет B приказ что-то сделать. B получает веб-перехватчик с сообщением от A. B просит A аутентифицироваться. После аутентификации A B выполнит требуемую работу от A.
Поток такой:
A - отправить команду как сообщение -> B
B получает перехватчик.
B - запрашивает авторизацию -> A
A получает перехватчик.
A - отправляет ответ аутентификации -> B
B получает перехватчик.
B проверьте, в порядке ли авторизация.
B выполнить команду.
B - отправить результат команды -> A
A получает перехватчик.
A что-то делает с результатом последнего веб-перехватчика.
Как лучше всего это реализовать?